Android: Custom Rom – Installing Google Play only (Customize GApps)

Due to license restrictions, Google’s proprietary applications (Play, Talk, YouTube, etc.) don’t come pre-installed with Android custom roms.

That leaves you with two options:

  1. Being happy you got rid of all the bloatware, effectively achieving a “google-free” android.
  2. Google-ify your custom rom by installing the complete “google stack” (GApps) separately.

But what if you prefer the google-free alternative but you purchased apps on Google Play before and want to keep using them?

Or maybe you just realized after hours of searching that a lot of apps cannot be found on other app stores?

You have no choice but to reinstall Google Play. However, using the GApps package as is, results in a bunch of apps and frameworks you don’t need, if you only want to have Play.

So the least thing you can do is to only install the apps/services you really need, avoiding the bloatware mentioned before.

To achieve this, you have to “customize” your GApps package.

This post shows how.

[EDIT 2015-02-08: Paranoid Android offers GApps in different packages sizes (Stock, Full, Mini, Micro, Nano, Pico). Using those might be easier than stripping them yourself. See [GAPPS][4.4.x] OFFICIAL Up-to-Date PA-GOOGLE APPS (All ROM’s) and [GAPPS][5.0.x][BETA] OFFICIAL Up-to-Date PA-GOOGLE APPS (All ROM’s). If those work for you please leave a comment, I’m very interested in any experience.]

[EDIT 2016-05-23: The Open GApps Project now conveniently offers different variants (“aroma” to “pico”) for different android versions (4.4 to 6.0) and different platforms (ARM, x86 and 64 Bits each).  You might want to give “pico” a try and skip the steps stated bellow 🙂 ]

Stripping Gapps

  1. Download the GApps bundle for your Android version
  2. Open the zip file (e.g. with 7-zip)
  3. Go to the system\app\ folder
  4. Delete all apks you don’t want.
    If you want Google Play only, you must keep the following ones:
    GmsCore.apk (Google Play Services)
    GoogleLoginService.apk
    GoogleServicesFramework.apk
    Phonesky.apk (Google Play Store)
    If you don’t keep all four of them, Play is not gonna work properly.
  5. Flash the zip file to your device (as described here, for example).
  6. Reboot
  7. Use Google Play

Further actions

If you’re a bit paranoid, I suggest using LBE Security Master to revoke permissions from Google Services Framework.

If you’re even more paranoid, don’t forget to delete your Google account from your device each type you’re done with Play 🙂

Additional packages worth mentioning

Before stripping GApps, you might consider using another nice feature (introduced with Android 4.1 I think) – offline voice typing. It provides robust voice recognition that doesn’t phone home and works without network connection.

To use it, just leave the VoiceSearchStub.apk within the system\app\ folder of GApps before you flash it.

Update (2013/04/29): This seems to work at first (you can download the offline dictionaries and tab the microphone button) but then the actual voice recognition doesn’t work. Epic Fail!

It’s much more easy to just install the Google Search App via Google Play (once you have got it installed as described above). It includes the option for downloading offline dictionaries and using the voice recognition.

And again, if you’re a bit paranoid, better stop the App from phoning home –  using for example LBE Security Master. 😉

Advertisements

12 responses to “Android: Custom Rom – Installing Google Play only (Customize GApps)

  1. Hey,

    I’m trying to install gapps in my custom ROM, but I’d rather not use clockwork mod. I’ve been trying to load gapps on by putting the device (nexus 7) in recovery mode, selecting the “update from adb” option and following the instruction to run “adb sideload .zip”. This apparently success (telling the installation has completed), but upon rebooting the gapps are nowehre to be seen.

    Do you have any ideas what might be wrong? I’ve tried adb installing the apks individually (some give INSTALL_PARSE_FAILED_NO_CERTIFICATES errors), and using a slightly older version of the gapps (exactly the same issues).

    Sorry to ask you for some slightly offtopic help, but the internet is rather quiet on the issue of installing gapps without clockwork mod 😦

  2. I managed to figure a solution out, but I thought I’d post it here just in case anyone else is struggling with the same problem.

    I used adb push to get the complaining apks into /system/app then used an adb shell to chmod them to 644, and this seems to have worked. You need to make /system writeable before hand with “mount -o rw,remount /system” as a superuser in adb shell. Reboot the system and it should be good to go.

    Thanks for the helpful blog post!

    • Hi Olly,

      sounds like it’s worth a blog post on it’s own: “Installing GApps without ClockworkMod” 🙂

      Thanks for sharing your solution – I’m sure somebody will sooner or later face the same problem!

  3. I tried doing this process using windows inbuilt zip program, it didn’t work well. When attempting to flash it to the device the file was listed as a “bad file”.

    Doing the process with 7 zip worked well though

  4. Pingback: 넥서스7 날아다니게 만들기 | Draco

  5. I was surprised, but this actually works! I disabled the signature check in CWM when installing the zip file.

    I used 7zip as you wrote above. Additionally to the mentioned changes I removed some other files that are included in the Gapps zip file.

    Moreover I changed the script in META-INF/com/google/android/update-script. For example I removed all the delete instructions and removed the optional part. Just make sure you have CR line endings (otherwise use dos2unix) when you change the script file.

    I used adb sideload which worked fine as well.

    • Thanks for sharing. I’m a bit surprised myself seeing that this still works two years later 🙂
      Where did you download GApps?
      This might be a bit late for you now but Paranoid Android also offers stripped GApps packages now. Haven’t tried them myself, but looks promising.
      I updated the post, so maybe next time you flash this will make it easier for you. Plz keep sharing your experience.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.