Update (Oct. 9, 2015): It appears the Viper4Android AIO Fix sip may be working properly for Lollipop Nexus 6 users. However, this zip is causing problems for some on Android 6.0 Marshmallow. Some, including myself, can’t boot past the Google logo using that zip file.
However, the method outlined below still works for the Nexus 6 on Android 6.0 Marshmallow as this is how I am using it. Android 6.0 requires a different version of Busybox, though. Be sure to download BusyBox on Rails from the Play Store instead.
When it comes to controlling how the audio sounds in Android, Viper4Android is one of the best tools available. It gives you a list of options I didn’t know could exist in manipulating the way I hear music on Android. Installing it used to be as easy as installing any other app, but that changed with the release of Android 5.0 Lollipop. If you want to install Viper4Android on the Nexus 6 and possibly other Android 5.x phones or tablets without breaking other features, look no further.
I have seen other guides on installing Viper4Android and under normal circumstances, writing another one here would be redundant. However, a guide on a prominent Android developer forum specifically for the Nexus 6 offers directions and packages that break crucial components to Android and the guide author has done nothing to address the issue. As a result, I am addressing it myself.
The problem with the guide in question? It break the ability to connect a stereo aux cable to your phone in order to connect to your car’s stereo or other stereo options. It possible also breaks the ability to use stereo headphones without an inline microphone and possible lacks the ability to output audio via USB — a new feature in Android 5.0 Lollipop. When I first discovered the problem, I looked into the files the author of this forum thread provided with a text editor and compared the content with the code of the files from the original factory image. Large portions of code were completely missing! I will be the first to admit that I am not a developer, so deciphering what was missing and why, is not something I can answer. However, I did specifically see references to USB Audio Out in the original files, but did not see these references in the code provided by the forum thread that breaks aux audio out. USB Audio Out was not the only code missing, however. Large chunks of code from various sections were missing and entire sections were missing as well. I can’t imagine what other functions may have been broken.
The forum thread that breaks something so commonly used claims that flashing three zip packages in a custom recovery is all you need to get Viper4Android working with perhaps a few settings changes. I promise you, if you want it to work without sacrificing key Android functions, my directions below will work for the Nexus 6 and potentially other Android 5.x Lollipop devices. The steps involved will be longer, however.
- Third-party recovery (TWRP/Clockworkmod)
- Busybox installed
- SELinux set to permissive
- Viper4Android apk
The steps below will ensure Viper4Android installs and works properly on your Nexus 6 and possibly other Android devices.
- Install Viper4Android as a normal app (no need to flash anything)
- Set SE Linux to permissive
- You may flash a kernel that has SE Linux set to permissive by default or
- You may use the SE Linux Mode Changer app, however I am finding that this needs to be used every time the Nexus 6 reboots.
- Ensure Busybox is installed
- Install and open a Busybox app
- If it doesn’t indicate that Busybox has not been installed, install it
- Disable NuPlayer (this is no longer required in Android 5.1 and newer)
- Enter Android Settings
- Open the Developer Options (if you don’t see this option, enable it by tapping Build Number several times in About Phone)
- Enable “Use AwesomePlayer (deprecated) – this may not be required in Android 5.1 and later.
- Disable or remove MusicFX, AudioFX, DSP Manager, and other EQ apps
- Google includes MusicFX on stock Android as an EQ. It is only accessible through Google Play Music, however. AOSP Roms tend to use AudioFX, DSP Manager, or other EQ apps. When more than 1 EQ app exists, Android doesn’t know which one to use, giving the user unpredictable behaviors – Viper4Android may work, may only work sometimes, may never work.
- Disable EQ apps by going to Android Settings -> Applications -> All Applications, then browse for the EQ app that came with your ROM/phone. Tap on it, then choose Disable
- You can remove these apps entirely, Titanium Backup can assist with this if you don’t know how. Reflashing a ROM will bring the EQ app back whereas disabling it will not.
- Open Viper4Android (grant it root access if prompted)
- Install Viper4Android driver
- Change Viper4Android to Compatibility Mode
- Set SE Linux to permissive again (may need to every boot)
Note: If you experience features of Viper4Android not working, try installing the app as a system app. Titanium Backup can do this, but requires SE Linux to be permissive otherwise the task will become frozen.