I have an old Nexus 7 (picked up from I/O 2012) that got unbearably slow after an OTA upgrade to Android 5. After seeing hints from early adopters that Nougat is serviceable on this device, I decided to give it a whirl by following these instructions:
Connect from PC via adb and run:
adb reboot bootloader fastboot oem unlock fastboot flash recovery twrp-3.1.0-0-grouper.img
Hold Power + Volume Up to boot into TWRP Recovery Mode.
Advanced Wipe, selecting all partitions.
Advanced | ADB Sideload | then on PC run:
adb sideload aosp_grouper-7.1.2-ota-eng-20170410.ds.zip adb sideload "Mini_Dynamic_GApps-7.1.x-20170121.zip"
Ensure /data is mounted (checkmarked under TWRP's Mount menu).
Still in TWRP, start Terminal and run:
echo "SYSTEMLESS=true" >/data/.supersu
Another ADB Sideload:
adb sideload "SR4-SuperSU-v2.78-SR4-20161115184928.zip"
Wipe, selecting Dalvik / ART Cache and cache.
Reboot to system, allowing TWRP to install its app when prompted.
Here are the files I used:
The device booted up and began the setup wizard, but as soon as I tapped an option to either set up a new account or copy data from an existing one, I got the error:
Setup Wizard has stopped
and on repeated attempts:
Setup Wizard keeps stopping
After some more research, the consensus seems to be it's a permissions issue with blame ostensibly pointing to the CyanogenMod (presumably now LineageOS) team. I tried a few suggestions below, but I could use some help on how to proceed.
Swiping down (notifications bar) or trying other "gesture hacks" to get to some sort of system options page to adjust the permissions for the wizard all fail. The app seems to lock up the device pretty thoroughly into "kiosk" mode.
I'd love to try this supposed fix:
pm grant com.google.android.setupwizard android.permission.READ_PHONE_STATE
but after booting into the system the device is no longer visible under
adb devices. For what it's worth, running the command in a TWRP Terminal doesn't work either (and I'm not sure if it should).
Mounting System in TWRP and running
dfin a Terminal shows the
/systempartition is 98% full, with 16064 [bytes?] available. I used the same GApps as the guy who wrote the instructions I was following; is it too big?
In TWRP I was able to rename
/system/priv-app/SetupWizard/SetupWizard.apkto keep it from running, and that at least got me into the system. But I can't figure out how to enable Developer Options / USB Debugging (required for adb) or even a Terminal window for that matter. Tapping repeatedly on Build number in the About Tablet screen does nothing.
I could try and grab a Terminal app from Google Play, but I'm hesitant to proceed with setting it up with my credentials under this "Default Owner" profile. Is it safe to skip the initial Android Setup Wizard altogether and just start using the device?
I also tried another TWRP Wipe, using the default partitions (Data, Cache, Dalvik).
I suppose I could try and sideload a Terminal APK. But... really?
I came here because I didn't want to get too far ahead of myself before getting a second opinion. I tried to document the steps taken so far as thoroughly as possible (as well in part to help others, since the documentation out there in the wild for all this is a bit scattered and confusing). I'm hoping this is just a case of me having missed a small detail in the procedure that someone can point out.
I've done many flash attempts and at the advice of folks here and elsewhere I more recently switched to using:
- LineageOS 14.1
- OpenGApps 7.1 nano (20170426)
- This gapps-config-grouper.txt to trim the GApps packages
- I also tried GApps nano with a more documented gapps-config-grouper.txt which I created in an attempt to only install
CalSync(was hoping to save on some
/systemspace and get the rest from the Play store afterward)
So instead of Steps 4-7, it's now:
Run on PC:
adb push lineage-14.1-20170423-UNOFFICIAL-aaopt-grouper.zip /sdcard/ adb push addonsu-arm-signed.zip /sdcard/ adb push open_gapps-arm-7.1-pico-20170426.zip /sdcard/ adb push gapps-config-grouper.txt /sdcard/
Install | Add the three zips (in the same order as listed above).
Safely ignore the "Updater process ended with signal: 4" and "Error installing the zip file" messages.
I was able to bypass the Setup Wizard - by using either the
build.prop tip Andy Yan pointed me to, or the four-corner tapping trick Nadav Tasher suggested in his answer. However I'm still having problems with apps stopping (even those from the Play store). Presently working on identifying and granting missing permissions.
By way of example, while troubleshooting I found
com.google.android.setupwizard was missing these requested permissions:
android.permission.ACCESS_COARSE_LOCATION android.permission.CALL_PHONE android.permission.CAMERA android.permission.PROCESS_OUTGOING_CALLS android.permission.READ_CONTACTS android.permission.WRITE_CONTACTS com.google.android.apps.now.OPT_IN_WIZARD
I was able to grant all of them except the last one, but didn't manage to get the wizard to restart afterward so gave up on that (particularly after being told it wasn't that important anyway).
Haven't gotten a chance to do similar analysis on any other apps - and not that inclined to. I feel like if things were working right I shouldn't have to be doing this, and am hoping someone can suggest a better way (e.g. a LineageOS tweak or maybe a different GApps?).