HOWTO: external gapps
-This is an alternative to flashing the gapps zip in recovery. Do not do this if you have flashed gapps through recovery
-For m2sd users see here
Instead of wasting nand space installing 50+MB of gapps to /system we will place them on /sd-ext and create symlinks to /system. This means you can reduce the /system partition to 210MB safely and still have full gapps. In principle, after the initial setup this will survive wipes and updates (assuming you dont format /sd-ext).
The main reasoning is reading from the sdcard should be just as fast (or faster especially with journaling disabled which is now done automatically by the init mount script) than from nand. But random writes to the sdcard are going to me much slower than nand. So if we are only reading from the sdcard and writing all our data to nand it should be much faster.
getting the gapps in the right place
# via adb
# extract the gapps zip on you desktop
# create directory on device
$ adb shell mkdir -p /sd-ext/gapps/system
# push the system folder to device
$ adb push ~/Downloads/gapps/system /sd-ext/gapps/system
# make sure directories are right init script depends on this exact placement (mainly check we dont have gapps/system/system/)
$ adb shell ls /sd-ext/gapps/system
app etc framework lib usr
# enable extgapps (quotes needed)
$ adb shell "echo x > /sd-ext/gapps/.extgapps"
# gapps dir should look like this (if .extgapps doesnt exist the init script wont run)
$ adb shell ls -a /sd-ext/gapps/
# reboot and wipe device
$ adb reboot bootloader
$ fastboot -w
$ fastboot reboot
# via root explorer (these are fairly rough)
-click on the gapps zip on sdcard to open
-long press the system folder -> extract -> 'go to extracted'
-long press the system folder (the extracted one) -> copy
-navigate to /sd-ext
-menu -> new folder -> name it 'gapps'
-open gapps -> paste (system folder)
-menu -> new file -> name it '.extgapps' the dot is required
# directories should now contain:
# /sd-ext/gapps should have: .extgapps, system
# /sd-ext/gapps/system should have: app, etc, framework, lib, usr
-reboot recovery -> wipe data
once its setup
# on reboot
# symlinks will be created on boot
# look at beginning of logcat to ensure links were created
$ adb logcat -C
I/extgapps( 137): Removed Provision
I/extgapps( 139): Removed QuickSearchBox
I/extgapps( 145): Created /system/app/Talk.apk
I/extgapps( 148): Created /system/app/ChromeBookmarksSyncAdapter.apk
I/extgapps( 151): Created /system/app/GoogleBackupTransport.apk
I/extgapps( 154): Created /system/app/GoogleCalendarSyncAdapter.apk
I/extgapps( 157): Created /system/app/OneTimeInitializer.apk
let me know how it works for you.
You will now never need to flash gapps again.
| Github My: Github
Google Nexus One (passion):
w/ Evervolv Kitkat - 22.214.171.124 - 5.08.00.04 - 7.35.5017 (BlackRose)
Google Nexus 4 (mako):
w/ Stock Kitkat - 3.4.0
Google Nexus 7 (flo):
w/ Stock Kitkat - 3.4.0