Install Launcher and Store - tigerbox-reverse-engineering/tigerbox GitHub Wiki
Please use the UART-ADB root tutorial to gain ADB access.
We need the ability to install and start apps from the screen, like on any Android device.
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
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.
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.
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:
- selection from images of some RK312x Tablets: [Download from Mega] https://mega.nz/file/S3B3iJAB#AzEKVNInkoZ3dvBPcdakYnN2Rh35uccJ4TCe-2GGJ4A
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
The tool scrcpy makes remote controlling the device very convient. Just connect your device via ADB and start scrcpy.
- F-Droid - F-Droid - Store
- Aurora Store - F-Droid - Play Store
- OpenLauncher - F-Droid - Launcher
- NewPipe - F-Droid - YouTube GUI
- VirtualSoftKeys - F-Droid - Hardware button replacement
- YouTube - Aurora Store - Crashes because of no Google Services
- Spotify - Aurora Store - Just crashes