[ROM][AOSP] S4 Google Edition [SafeStrap]
After discovering the terrible mistake I made buying an AT&T S4 with a non-unlockable bootloader, I looked for any way to run an AOSP/GPE rom on this phone with Safestrap. It looks like I've finally gotten it into a decent state for my personal use so I thought I'd share.
The ROM is based on [AOSP] Official 4.4.3 - S4 Google Edition - Final-R2.0
and nearly all of the credit goes to them for making a GPE rom that actually boots with our kernel. The only changes I've made are ripping out the kernel for safestrap, installing a wrapper script for the sdcard binary, and some post_boot init script additions to properly load the WiFi module. For wifi to work, you need your stock kernel's modules installed after the ROM, specifically dhd.ko, to /system/lib/modules.
If you'd like to enable Nexus-style software buttons and disable the hardware capacitive buttons, see this thread for instructions: http://forum.xda-developers.com/show....php?t=2032117
. You can disable the capacitive button lights with GravityBox
Do NOT take OTA updates with this rom. Doing so could break the rom, or in the worst case trip Knox, which would void your warranty. I'll do my best to update the rom to the latest version as soon as possible.
WiFi (may not come up every boot, a soft reboot usually fixes)
USB internet tethering
Paid apps from Play Store (see workaround below)
Chrome (see workaround below)
Google Earth (remove from /system/app and reinstall from Play store)
IPv6 APN (for compatible carriers such as T-Mobile)
Almost everything else
WiFi Tethering (see: http://forum.xda-developers.com/show...&postcount=662
What doesn't work:
USB MTP (due to kernel differences)
AT&T Install Instructions:
Verizon Install Instructions:
WiFi isn't working: Do a soft reset with the GravityBox
Power Menu or the Xposed Installer
USB Transfer not working: Use Airdroid
, or adb push/pull.
Paid apps won't install: See workaround below.
Chrome force closes on new tab: See workaround below.
Paid Apps & Chrome Workaround:
Install SELinux Mode Changer
and set SELinux to permissive.