6

In our organisation, we are providing Android tablets to some users. There is an app we have installed on the devices that we don't want users to be able to remove.

I have searched for "app lock" in the Play Store, and tried the various 'app lockers' which password protect the apps I choose.

If I then use the Android menu to try to uninstall an app that I have protected with the app locker app, it prompts for a password - which is good.

But, if I go into the Play store app and try to uninstall through there, it removes it straight. And I don't want to password protect the Play store. Is there any way to prevent uninstallation of certain apps in a foolproof way?

3
  • 1
    Even if you disable the Play Store, if debugging is enabled on the device, adb uninstall the.interesting.app will still remove the app.
    – Dan Hulme
    Commented Jun 19, 2013 at 8:28
  • 2
    Or maybe treat your users like adults and just tell them, "Don't uninstall this," and trust your fellow coworkers instead of trying to come up with "clever" technological solutions to a policy problem?
    – Greg Bair
    Commented Jun 25, 2013 at 14:54
  • @GregBair I definitely agree with your approach. And you're right in putting it in a comment as opposed to an answer.
    – Ben
    Commented Jul 8, 2013 at 18:14

3 Answers 3

9

One way to achieve what you want would include the following steps:

  1. (temporarily) the device
  2. converting the app in question into a system app (e.g. using Titanium Backup ★ root, but there are also other apps helping you with this step)
  3. unroot the device again

As the app now resides in read-only space (/system), the user cannot delete it without either rooting the device or flashing a ROM -- which of course could be done, but it's a higher inhibition threshold at least.

1

Izzy's method works just fine, but if you don't want to temporarily root your device(s), you could make an update script which copies your app to the root of the device, so that it's been recognised as a stock app.

Take a look at the following tutorial: http://www.londatiga.net/it/how-to-create-android-update-zip-package/

1
  • 1
    This might work for some, but in many cases requires a custom recovery to be installed. I played with this in the past, and several devices did not accept the update.zip as it was not signed with the manufacturer's key (which you cannot do as you don't have it). If this were not the case, rooting would be quite easy, as one could simply push the required files to the /system partition this way :)
    – Izzy
    Commented Jun 26, 2013 at 6:45
1

Is the app developed by your organisation?

If you can control the source code of the app, you may prevent users accidentally uninstalling your app with the help of DevicePolicyManager. The advantage is that you don't need to convert the app in every tablet to be an system app. Once the app is installed from Google Play, it can not be uninstalled unless users disable the DevicePolicyManager in security settings.

If you can't change the app, then convertit to a system app. Because there are many devices to handle, you should write a script to do the job.

In both ways, if the users really want to uninstall your app, they can always find a way. So make sure your user do not hate your app.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .