Install Launcher and Store - tigerbox-reverse-engineering/tigerbox GitHub Wiki

Preparation

Please use the UART-ADB root tutorial to gain ADB access.

Make Android GUI useable

We need the ability to install and start apps from the screen, like on any Android device.

Install F-Droid

It is an app store, which is easy to get and has a lot of software we can use. It has very little dependency on existing software, so will work on any Android, no matter how much cut down.

Download F-Droid APK and install it via ADB.

adb install F-Droid.apk

Install OpenLauncher

Now we need to have a menu with applications - in other words, a launcher.

Run F-Droid, and install OpenLauncher.

adb shell monkey -p 'org.fdroid.fdroid' -v 5

If the launcher isn't in the foreground, run it directly.

adb shell monkey -p 'com.benny.openlauncher' -v 5

Don't forget to set the OpenLauncher as standard launcher in Settings. Otherwise, it will start the Tigerbox App.

Install VirtualSoftKeys

As the device only has a power button, you will need some kind of virtual buttons. VirtualSoftKeys is a good choice, and available in F-Droid store.

Supplemental Android improvements

Add more Stock Packages

The Android you have is missing some standard packages which are used by other Apps. Not having these stock dependencies will make many applications not work.

Where to get these packages from, you ask? You extract them from a stock image, preferably matching the Android version and SoC which you have in your Tigerbox. And what you have, you can check in Settings -> Device info.

If your Android is 5.1.1, and chip is rk312x, then you should be able to use the already extracted packages:

The APK files could be installed by adb install --user 0 <FILENAME>, but you would notice that some files are refusing to install unless modded, and in general - these packages should be really maintained by the Android system, not by the user.

To include them into the system-maintained pool, you need place them into folders /system/priv-app and /system/app. Packages placed there are automatically installed on system reboot, as system-maintained packages.

Add Stock Packages to 'priv-app'

First, copy the files to a temporary folder on your device.

adb shell mkdir /sdcard/temp-priv-app
adb push priv-app/* /sdcard/temp-priv-app

Now, log in to the device, and get Super User privileges.

adb shell
su

Then, you can move the folders into final location, and remove the temporary copy.

cp -r /sdcard/temp-priv-app/* /system/priv-app/
rm -rf /sdcard/temp-priv-app

While still in the ADB shell with elevated priveleges, change attributes of the folders and files you copied. This is neccessary, because this version of Android is very strict about attributes, and will ignore the packages which do not match.

chmod 755 /system/priv-app/CalendarProvider
chmod 644 /system/priv-app/CalendarProvider/*

chmod 755 /system/priv-app/Contacts
chmod 644 /system/priv-app/Contacts/*

chmod 755 /system/priv-app/ContactsProvider
chmod 755 /system/priv-app/ContactsProvider/*

chmod 755 /system/priv-app/DownloadProvider
chmod 644 /system/priv-app/DownloadProvider/*

chmod 755 /system/priv-app/MusicFX
chmod 644 /system/priv-app/MusicFX/*

chmod 755 /system/priv-app/TelephonyProvider
chmod 644 /system/priv-app/TelephonyProvider/*

chmod 755 /system/priv-app/TeleService
chmod 644 /system/priv-app/TeleService/*

You can exit the shell by typing exit command, twice. Or make the device restart and install the new packages by typing reboot.

After the packages are installed, you can switch from OpenLauncher to the standard Android Launcher, if you prefer. The standard one is a bit more responsive, but both are useable.

If the Android Launcher doesn't show wallpaper, then execute in ADB shell: pm enable com.android.systemui. Effects are immediate.

Add Stock Packages to app

We will do this using the same procedure as we did for priv-app.

First, copy the files to a temporary folder on your device.

adb shell mkdir /sdcard/temp-app
adb push app/* /sdcard/temp-app

Now, log in to the device, and get Super User privileges.

adb shell
su

Then, you can move the folders into final location, and remove the temporary copy.

cp -r /sdcard/temp-app/* /system/app/
rm -rf /sdcard/temp-app

While still in the ADB shell with elevated priveleges, change attributes of the folders and files you copied.

chmod 755 /system/app/Browser
chmod 644 /system/app/Browser/*

chmod 755 /system/app/BrowserProviderProxy
chmod 644 /system/app/BrowserProviderProxy/*

chmod 755 /system/app/Calculator
chmod 644 /system/app/Calculator/*

chmod 755 /system/app/Calendar
chmod 644 /system/app/Calendar/*

chmod 755 /system/app/ConfigUpdater
chmod 644 /system/app/ConfigUpdater/*

chmod 755 /system/app/DeskClock
chmod 644 /system/app/DeskClock/*

chmod 755 /system/app/DocumentsUI
chmod 644 /system/app/DocumentsUI/*

chmod 755 /system/app/DownloadProviderUi
chmod 644 /system/app/DownloadProviderUi/*

chmod 755 /system/app/Exchange2
chmod 644 /system/app/Exchange2/*

chmod 755 /system/app/Launcher3
chmod 644 /system/app/Launcher3/*

chmod 755 /system/app/MediaShortcuts
chmod 644 /system/app/MediaShortcuts/*

chmod 755 /system/app/MusicLocal
chmod 644 /system/app/MusicLocal/*

chmod 755 /system/app/PartnerBookmarksProvider
chmod 644 /system/app/PartnerBookmarksProvider/*

chmod 755 /system/app/RkApkInstaller
chmod 644 /system/app/RkApkInstaller/*

chmod 755 /system/app/RkExplorer
chmod 644 /system/app/RkExplorer/*

chmod 755 /system/app/SoundRecorder
chmod 644 /system/app/SoundRecorder/*

Finally, make the device restart and install the new packages by typing reboot.

After reboot, you should see new apps in the menu: Calculator, Calendar, Music, File Explorer.

Since you've installed com.android.providers.downloads.ui, com.android.documentsui and com.android.browser.provider, you should now be able to save files locally in various applications, ie. music and videos, and play them later even if there is no wifi connection.

Install Lucid Browser

Web browser will be handy. Lucid Browser is fast, and works with minimal amount of dependencies. The video playback functionality works properly, so you can use any video services through it when NewPipe isn't enough. Available in F-Droid store.

Install commonly used apps

Some apps have a button which opens e-mail or calendar. Even if you don't need these functionalities, you probably do not want such apps to crash. So, install such apps from the store.

For example, SimpleEmail fills the post for e-mail app quite well.

Also, you will probably want a video player - NewPipe. While not a dependency for other software, it is nice to have for this kind of device.

Additional notes

Missing GUI elements

The statusbar at top and the navbar at bottom (collectively known as systembar) are deactivated. We don't really know where these were disabled - there surely is a way to re-enable, but it isn't known. Replacing SystemUI with stock one doesn't bring the bars back. So maybe it's disabled in Framework? Or maybe there is a build.prop property to enable these? More experiments needed.

Missing Action handlers

The Android build used was severly cut down. It is missing several provider packages, and other commonly used parts of Android. Some of these can be easily re-added (see Supplemental Android improvements. Others are harder, and still require figuring out. If you see a Java crash dump starting with:

android.content.ActivityNotFoundException: No activity found to handle Intent { ... }

then the issue is just that - lack of handlers. For what action the handler is missing, that is explained within curly braces of the message above.

Installing Play Store and microG

Currently there is a way to install microG in this device, but Play Store isn´t working correctly. It´s opening, but sometimes it shows an Server Error. After installing F-Droid, add https://microg.org/fdroid/repo to the package repositories of F-Droid. Run a Package-Source update and install the following apps:

unifiedNlp
microG Service Core

after installation, reboot. Download APK from ApkMirror and install as system app (PlayStore)[https://www.apkmirror.com/apk/google-inc/google-play-store/google-play-store-26-6-12-release/google-play-store-26-6-12-21-0-pr-389229320-2-android-apk-download/] Download APK and install as normal app (GSF)[https://www.apkmirror.com/apk/google-inc/google-services-framework/google-services-framework-5-1-1743759-release/google-services-framework-5-1-1743759-android-apk-download/]

Now open the Play Store and log in. Then uninstall the google services framework and you'll get an working play store with microG.

Custom recovery

For popular Android devices, there is a custom recovery available. It is a replacement for a recovery partition, which can be activated by starting the device with specific buttons combination pressed. For example, TWRP is one of such recoveries.

Custom recovery allows installing many hacks created by the community. For example, there are packages to tweak Android UI, or enable signature spoofing required for adding google services, or rooting (though you do not need rooting on Tigerbox, it just gives you full access).

We haven't heared any reports of successful TWRP installations on Tigerbox. You can be the first.

Starting software via ADB

In case you accidentally revert to original launcher, or for various other reasons, you may sometimes want to start an app without using the screen.

To start an app, first get a list of your available packages, then run it (replace <PACKAGENAME>)

adb shell pm list packages
adb shell monkey -p '<PACKAGENAME>' -v 500

Finding issues with installation of system packages

If you want to add even more system-maintained packages, or for some reason there is an issue with adding the ones from Supplemental Android improvements chapter, you may want to look at logs which may shed light on what is wrong.

If you are installing a package which doesn't add icon to the Launcher (ie. it's a Provider package), and you want to make sure it got installed, you should check:

adb shell dumpsys package

If the name of your package appears anywhere above Package warning messages: in that log, then it was successfully installed and it provides some functionality.

And if it only appears in the Package warning messages:, then the warning might tell you what exactly is a problem with installation.

Finding issues with crashing app

If any app or service is crashing, the information shown in GUI is not very informative, and often deceptive (ie. it often says Android Core crashed, even though the issue is with specific application, not with the Android Core.

To get more descriptive error message, run:

adb shell logcat

After the crash happens, break the command (ctrl+c), and look at the messages finding errors.

Use scrcpy as remote control

The tool scrcpy makes remote controlling the device very convient. Just connect your device via ADB and start scrcpy.

Working Software

Non-Working Software

  • YouTube - Aurora Store - Crashes because of no Google Services
  • Spotify - Aurora Store - Just crashes
⚠️ **GitHub.com Fallback** ⚠️