I made custom Launcher, which can't be uninstalled.
- Important: root the phone
- install application as system application (install into
/system/app
) from recovery mode
.
- Optional: subscribe for package removal, check if user tries to delete your app - and don't allow him to do this action (close package removal activity)
I made archive, which can be installed from recovery mode
. Also my Launcher
requires custom Superuser
application (I don't want see notifications from Superuser
app, when my Launcher
runs root commands - silently give root access to my Launcher
).
What I have in result: Launcher
application, installed as system app (can't be removed). Also I blocked other launchers installation, added white list of allowed applications (don't install applications, which can manage file system and modify something important).
This solution full of tricks, but it's easier to implement than custom ROM.
If you customize the ROM, and install it to device somehow (contact device manufacturer from China for ex., request target device drivers and build the ROM on device), you can sign your application with system key, place it with other system apps, and then it can't be removed. In this case root not needed, but it requires much more time and power to implement.
If you will root device programmatically, than you should have exploit, which makes rooting. And different devices are rooted differently.