I’ve personally tested this method on many ROMs based off of CM12 on my Samsung Galaxy S4 GT-i9500 and it’s worked every time. If it doesn’t work for your ROM, post details and I’ll look into it. Most people have tried this method on their Nexus 5 and reported success.
Stock users!! If you use a ROM based on TouchWiz or other ROMs with a stock kernel that is set to "Enforcing", there is a chance step #3 will fail! Please read Q6 in the F.A.Q. below for help on this! This is NOT a V4A problem! And it CAN be fixed usually! Read carefully!
Please do not post that this isn't working for you unless you are 100% sure you did the steps exactly like I mentioned. Read the F.A.Q. first to make sure. Visit the thread links below for more help. It should theoretically work on all Lollipop ROMs.
Please follow this carefully step by step or this may not work for you. If you ARE sure you did these steps correctly and it still didn't work (I don't see why it wouldn't), post your device information and ROM details and I'll look into it.
Please do some research if you have any concerns about features included in this ROM before flashing it!
YOU are choosing to make these modifications, and if you point the finger at me for messing up your device, I will laugh at you.]
Let's get started.
Things you'll need:
1. A lollipop ROM. (duh)
2. Root access.
3. Custom recovery. (Any recovery should work as long as it can flash .zip files)
Here's a video tutorial I made to make things easier to understand:
Here are the steps:
- Head into your settings, and go to about device. Look for the SELinux status. If it says either “Permissive” or “disabled”, move on to step 4. If it says “Enforcing”, go to step 2.
- Download and install “SELinux Mode Changer” from the Play Store (link in post two)
- Open the app you just installed, and tap on “Permissive”. Grant root access when and if prompted, then reboot the device. <--If this does not work, read question 6 of the F.A.Q. below.
- Go to post two, and download “Viper4Lollipop.zip” from any of the mirrors listed. (Request for more mirrors).
- Go into app drawer, and disable “Audio FX”, or “DSP Manager” or “Music FX” depending on your ROM.
- Disable stock music player. <--Read question 1 of the F.A.Q. below to see why you have to do this.
- Go to developer options, and uncheck “Use NuPlayer”.
- Reboot device into recovery.
- Flash the “Viper4Lollipop.zip” you downloaded. Wipe dalvik/cache. Reboot.
- Open the V4A app from the app drawer, and install drivers when prompted after granting root access. Reboot once it’s done.
- Go to play store and download any third party music app. (Shuttle Player or Google Play Music are good options.)
- Enjoy the sweet sound of V4A on your Lollipop ROM.
Q1: Why do I need to disable the stock music app?
A: V4A causes force closes when using the stock music app. You CAN try another .zip (see post two and question 2 of F.A.Q.) which fixes this issue, but the disadvantage of that is that you might lose Chromecast functionality. Moreover, I never tried this personally so I can’t help you if you flash the other one and it doesn’t work. For anyone who wants to try a more complex approach and keep stock music player compatibility, see post #20 by @mholloway.
Q2: What is the difference between the recommended .zip and alternate .zip?
A: The recommended one will break stock music app, but it’ll work fine otherwise. The alternate one MIGHT fix the stock music app, but you might lose Chromecast functionality. Refer to the original thread for more details on this.
Q3: Will this cause any bricks or bootloops?
A: Absolutely no. It shouldn't. Never bricked mine.
Q4: How do I remove this?
A: Uninstall V4A drivers, then delete the app from the root directory.
Q5: Why does the volume go down on some screens?
A: This isn’t a problem with V4A. This is because of Google Now conflict or any other app that uses the microphone. It happens on some ROMs and they are the problems. Example: Volume went down for me on GearCM but not on Euphoria OS. Fix? Disable "OK Google" hot-word detection or disable/stop apps that use the microphone.
Q6: The kernel won't change to permissive.
You're not alone. Some people reported this doesn't work on some stock ROMs. This is because of the stock kernel on some stock ROMs (mostly Samsung) that cannot be changed to permissive. At this point, your best bet is to try a different kernel for your phone and ROM. A simple Google search will help you with that. Thanks to @banccalif in post #15 for the suggestion.
Watch the video if the steps seem complicated to you. If you're gonna tell other people about this, please link back to this thread.
Enjoy V4A for Lollipop and be sure to check out the thread in post two and thank the devs. They’re the geniuses who did this.