Upgrade Android on Nvidia Shield

Published:

What to build

Android history

There are articles explaining how Android has evolved visually. But I'm interested in another aspect of its evolution. This is my list of technical details introduced in specific Android versions

Backup

Super critical data

Even if backups will work fine I have a list of things that I'd like to perform manually.

  • Transfer 2FA applications to another device
  • Download photos and notes. And download "Downloads"

You can add your valuable items to the list by doing the following exercise. Look at every application and imagine that you delete it, then ask yourself: What will I lose when it's deleted? What if I never can open this app?

Software backup

adb provides some backup functionality. I will use version 1.0.41 from SDK 34.0.3-10161052. You can download Android SDK Platform Tools or, if you have Android Studio installed, copy it from C:\Users\<username>\AppData\Local\Android\Sdk\platform-tools. I used Minimal ADB and Fastboot before but apparently it's an unofficial repack, so it can be sketchy depending on where you download it from.

No root required, only the developer mode, but it only copies installed APKs including system apps.

adb backup -apk -shared -all -f C:\Users\neupo\shield_upgrade\backup_shield.ab
  • -apk include APK, so when it restores the system it doesn't need to download it from the store. Especially I like to have identical version that I kept on the device and never update. That happened with very good guitar tuner. It was simple functional and elegant. But after a few years they added a shit load of crap: many more pages and buttons, subscription to pro version, advertisements. What was wrong in the previous version? Or another example, Weather Underground. The forecast was so nicely represented on one screen that I fell in love with that app and weather forecasts in general. Once the developers decided to make a major release, they completely re-wrote it. It has become absolutely unusable. Sometimes you just want to keep what you like.
  • -shared to save SD card content
  • -all nothing to do with other flags, this one means to include all packages (it's possible to specify packages for backup, but we do a full backup)
  • -system include system applications too (I think NVIDIA stuff will go into this category)
  • maybe you will want APK expansions with -oob

Full system backup

As mentioned in these answers [ 1 ] [ 2 ] one can do a full backup of

  • boot
  • system
  • data (there is a trick to include the Internal Storage)

by booting into TWRP and doing so called NANDroid backup (IDK, it's just a big "Backup" button on the main screen)

Once you find a TWRP image for your device, Nvidia Shield. Download TWRP 3.7.0: twrp-3.7.0_9-0-shieldtablet.img from TWRP website, rename it to twrp.img and install on the tablet:

adb reboot bootloader

# when device at the booloader screen
fastboot flash recovery twrp.img

# be ready to press a key combo
fastboot reboot

Before the tablet/phone boots up hold Volume Down + Power buttons. This way we end up in the same bootloader, select Recovery Mode and it will load TWRP.

For more details read here

enter image description here

I assume this is equivalent to connecting via ssh and dd every partition.

Android flavors

I honestly don't know why I chose Lineage. You can choose from many other ROMs/mods/OSes

  • CyanogenMod (for Shield)
  • Resurrection Remix OS Seems like a popular thing, because I find it as a first ROM that I have to install before installing GSI in the process of preparing Shield for Treble system. Link
  • OmniROM Well, I need to dig into that when I'll have time. Link
  • Arrow OS Another AOSP-based creation, I've never heard about it. Link
  • postmarket OS Nvidia Shield Tablet
  • Android Open Source Project Android Open Source Project (AOSP) is True Android as I call it. Here's some tips

Build the ROM

Lineage OS for Shield (github)

ROMs

Docs

Versions

Lineage Android Codename Branch
15.1 8.1 Oreo lineage-15.1
16 9 Pie lineage-16.0
17 10 Q lineage-17.0
18 11 R lineage-18.0
19 12 S lineage-19.0
20 13 T lineage-20

Install

I wrote for myself simplified version of this wiki page.

  • Reboot into recovery: adb reboot bootloader, select Recovery Mode
  • Wipe -> Format Data. yes
  • done... Back, back, (on the Wipe page again) Advanced Wipe, select System, Cache, Swipe to Wipe (pun not intended)
  • done... Back, back, back.
  • Advanced -> ADB Sideload, Swipe
  • adb sideload ..\lineage-15.1-20230624-UNOFFICIAL-shieldtablet.zip
  • Back, ADB Sideload, Swipe
  • adb sideload ..\open_gapps-arm-8.1-nano-20220215.zip
  • adb reboot

Play Store

Gitlab link

Add "Open" GAPPS. I mean this in not open like open source, but "open" because it's just sneaked versions from Nexus ROMs.

So I select ARM + 8.1 + nano (minimal installation for Play Store, no Google apps)

Downsides of installing GAPPS:

  • On the first boot it will start with "checking for updates" crap. Solution: just press back, it will not go to previous page as illogical as it sounds, it will skip this step.

Verify

This is my short checklist.

Hardware:

  • Wi-Fi (sort of essential step in the first onboarding)
  • Speakers
  • Bluetooth
  • Camera (optional)
  • Video encoder (play video from youtube)

Software:

  • Play Store

Resources

Next steps

Websites

Rate this page