I want to build an app with DeviceAdmin privileges and pre-install it on devices, that will go to my users.
What I want is: to protect the app from being uninstalled. To do so, I'm placing it into the system directory.
The problem is: user can root the device and uninstall my app.
The question is: What could be the potential solution? Is it possible to somehow protect the device from being rooted?
Related
Is there any way to make Android app Un-installable prgramatically without root my phone?
No, its not possible to create an android app that cannot be un-installed.
Only some system apps that cannot be un-installed. Even they can be un-installed once your phone is rooted.
It creates security risk. A malware could become impossible to remove if once it installed. So no operating system will allow any developer to create this kind of application.
But you can hide the uninstall option.
You need to gain Device administrator access to your application.
Check this Documentation for further information.
Note: App can uninstalled via safe mode.
On Android can users choose to install any apps permanently?
And if so how does this work? I know when you first get an Android there are pre-installed apps that are permanent and you cant uninstall them but is there anyway in which we can permanently install apps ourselves?
What you're looking for is a 'system app'.
The apps installed on your Android devices can be broadly categorized as system apps or user apps, based on their installation location. The user apps are just all your normal app installations through the Google Play Store, Amazon Appstore or sideloading. These go into the /data partition of your Android phone, which is the part of the internal memory made available for user data and apps.
System apps are basically the apps that come pre-installed with your ROM. In a standard Android user environment, the user doesn’t have write access to the /system partition and thus, installing or uninstalling system apps directly isn’t possible. The process isn’t as hard as it may sound. However, there is a catch.
In order to install an app as a system app on your Android device, your device must either be _root_ed, or have a custom recovery installed (or both).
Here's how to install an app as a system app
By permanantly, I assume installing them as System Apps.
For that, you might need to root your phone. Google "installing android app as system app" and you will get a lot of answers. This is one sample
As the question is generic, so I am not adding the steps.
Easy way- If you don't uninstall an app, it will stay there permanantly. In addition, you can use additional security for preventing accidental uninstallation.
Does anybody has the Idea of making an android app undeletable.I want to install selected apps on the system memory so that anyone having an access to my phone cannot delete those apps even after resetting the phone...
What I earlier saw was that the apps installed on the system memory cannot be changed or modified by ordinary users...I tried resetting my phone but saw some apps preinstalled from the company remained and all the apps that were downloaded from the play store were deleted..
The answer I got from searching the web was that I could make install an Android app to the system memory...does it make the app undeletable even after resetting or formatting the phone?
You can achieve this by making your application by Developing a Device Administration Application, follow this link http://developer.android.com/guide/topics/admin/device-admin.html.
you could only do this if you root your phone and place the apps inside system/apps.
However, if this is about your phone, why don't you use a password protector for apps, so nobody can access the app manager?
Removing a users choice to uninstall your app, goes against everything most programmers strive for. It's probably against the Google T&Cs also. And as already said, other than Malware or some dodgy virus attempt, there would be no practical (ethical) use for such an app, IMO.
I want to create an system application(while installing it will ask user permission to make it as system app) for UN-rooted application. As I am not familiar in android, please tell me how to create it.
Thanks in advance.
True system apps are baked into the ROM image, and signed with the same key the ROM was signed with, giving them extra access to the system.
You cannot add a new system app on the same level without updating the ROM image of the device, and even then you'll need the OEM key to sign your app and you will have to request them to include it in their ROM.
Having a rooted device allows standard apps to gain extra access without being system apps.
I want to allow user to install my app directly from my web-site, not through the Android market.
I'm working on a specific non-phone android device, which can't be connected to the Android market.
how can I accomplish such a thing ?
The device can download the APK files like a normal file. After that, the user can open it and gets prompted to install it by checking the apps permissions. This required the unknown source preference (Preferences->Applications->Development usually) to be checked.
If you want to create some sort of drive-by-download/install: Thats not possible for (obvious) security reasons.