Question

I have developed an android application and I want to distribute the application on tablet. This means my client will not require to download the apk as it comes with tablet.

This software is for training purpose i.e. video and other documents.

I don't want the apk to be extracted, in another words, I would like to bound the apk to run a specific device.

In summary, my aim is to deliver the apk with tablet device (and I want to avoid extraction of the apk).

Is this achievable?

Was it helpful?

Solution

If the user gains root access on the tablet, you cannot do anything to avoid this.

However without root access, if the apk comes shipped with the tablet, there is no way that someone can send it to other tablet/phones.

If you want to add further security, you can do a simple offline authentication, when the app starts.

eg 1) on first install, prompt user(who will be you, since you have to install the app before giving the tablet to an employee - right? if I understood correctly your problem) to give a user and a pass.

2) Then save credentials in phone(using preferences), and later on(step 3) match them with some hardcoded ones in your apps code.

3) Each time app starts, do a quick check of preferences credentials, and if it doesn't match, close the application.

While this isn't very good way of securing your app, you may come up with a more reliable solution. If tablets have internet access all the time, you can add a proper username/password authentication, but you have to create some sort of accounts to all of your users.

OTHER TIPS

Did you know something about Signed-apk?? First of all create your account on play-store and get the keystore for your project. then create a signed-apk using keystore and password given.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top