I'm distributing my android application (apk) along with some encrypted audio files in SD card. After installing the apk on the android phone, i want the apk to be deleted automatically. Actually I dont want the apk to be copied by others.
Is there any solution such that apk cant be installed or copied by others?
By distributing it on an SD card you're making it very easy for people to copy. What's to stop them from just copying the card? Even if you come up with a way to prevent this from being done on Android, they could just insert the card into any other type of computer.
i want the apk to be deleted automatically
Automatic deleting no , you can prompt the user for for that at max.
I do not why you want to do this but you can definitely make your app inactive, implement :
x times run policy or implement run for x days only depending on your need but then again when they reinstall the app will work.
So add an online activation module and keep phone details to avoid reactivation
Related
I have an app that needs to be updated. To make the update, I'll download the app inside a directory of the user and then I'll need to open it. Well, that's the problem. I can't open the .apk in the mobile application, it does not allow to use the openWithDefaultApplication and neither have NativeProcess.
I've searched a lot for some ANE, but without lucky. Any suggestion?
I know this is may or may not be possible,but I just want to confirm is it possible in android or not?
So here it goes,Let's say I have an android app ( example my_app.apk) ,I copied my_app.apk from my computer or through pendrive or downloaded from website to my android device( let's say I copied to /sdcard/).I have also activated install app from unknown sources in my phone settings.
Now is there any way through which I can make the App to auto install on the device as soon as I copied to /sdcard folder? I mean my_app.apk should kick auto installation on the device without user navigating to /sdcard of the device and selecting the app and clicking the install option.
I just want to know is this possible in Android? if Yes how can I achieve that? I don't want to use other third party applications to kick off installation,instead the app should kick installation itself as soon as it gets copied to /sdcard folder.
Any help would be appreciated.
I think that is not possible. It is possible to have Android app which checks some folders and detects new file and automatically install new apk files. To install apk package ordinary (from SD card) you should activated installing from Unknown sources in settings. Auto instalation packages aren't possible, because it could be security problem.
I want to protect my application from being copied by users from device to another device. I know that wont be possible because once the apk is installed any third party application may be able to copy or extract the apk. I mostly care about the private data of the application rather than the apk itself. So, my questions are :
1- Can I protect the apk from being copied to another device by the user ?
2- If user copied an application from device to another (e.g. via third party app or by bluetooth) will he/she be able to copy the private data as well ? If yes, can I protect that ?
Thanks in advance.
To answer briefly, AFAIK, No.
Regarding the single questions:
if device is rooted it's really easy to access the /data/app/ dir and copy your apk, even on the device itself.
For un-rooted devices you need to issue some adb commands. For reference, look here:
https://stackoverflow.com/a/11013175/1865860
https://stackoverflow.com/a/17135554/1865860
How to get a list of installed android applications and pick one to run
the same applies to /data/data/com.example.app/ for the private app's data. Just different folder and possibly many files to copy.
Basically the difference it's not in having root or not, but in the ease of realization.
you can use google licence in your app even if its copied from rooted device it wont work until its downloaded from playstore
second /data/data/<packagename>/ can be copied from rooted device
People who download the applications from the play store can easily take the APK files for the application using Astro Manager, and other related apps. These apk's are further decompiled to get all the Resources files and codes of the corresponding applications by following a series of steps.
My Question is : How to stop my application by being backed up with Astro Manager. ( I dont want that anyone should take a backup of it)
It is not possible actully that filemanager is not taking a backup of apk.
Android System is take the backup of apk when the app is downloaded and we are able to copy that apk in other folder in sdcard by following some steps but we are not able to delete that apk from the android system as it is prevented by the system.
To restricate the decompiling of apk you have to use ProGaurd see this Prevent Decompiling and also other method are availbale but that are also not 100% perfact.
And apk which is Shared via bluetooth by using MyAPPSharer type app to avoid that application to work in device than you have to use Application Licensing that will check that app is downloaded from playstore or not if not than it will show a dialog as with message pasted by us that you are using illegel version of application etc...
By using Link2SD or other app, you can converse the app in system app. At this stage will not be visible anymore for Astro file manager.
Also, I have tried this:
1. I have installed and run the apk file on SD card;
2. I have installed an encryption app on the SD card (Encryption
Manager); 3. I have encrypted app libraries on SD card (apk file
itself can not be encrypted, otherwise the app will not launch and
run). Launching the app still works, no probs whatsoever. By
deleting the encryption app (Encryption Manager) from SD card, the
encrypted libraries remains still encrypted, and I can still launch
the apk file. Apk file is still visible for Astro file manager, but
can not be backed up/cpoied. When trying this, a message occur: App
protected, will skip back up.
Im currently in the process of byuilding an app with phonegap on android.
I Prepared a "spoof app " with tests of some functionnalities i wanted to try before starting to develop fully.
I built my app and signed it so i may install it on my phone with the apk.
The problem is , my app works fine but i cant find the file system of the app in any of the devices i tested the app on. I wanted to retrieve the SQLite database or a file i created but i cant because i cant find the filesystem of the app in the device.
Is there anyway other than rooting the device to see my app in the phone filesystem when plugged with usb?
Or is there any way i can retrieve easily the databases my app created on the phone?
EDIT: my devices dont have SDCARDS and doesnt support SDCARDS either.
PROBLEM SOLVED
Since i found out that i would have to root the phone or the tablet to acess the filesystem i review my app functionnalities and i found out i could create a foler on the phone with phonegap , but still i couldnt see it.
I then opened the DDMS perspective in eclipse and looked throught the filesystem and found out that the folders i saw in my phone were in the mnt folder, in the sdcard directory. (mnt/sdcard)
I then used the filesystem acess of phonegap to create a directory on my phone.
fileSystem.root.getDirectory("**/mnt/sdcard/com.seventest.com**",{create:true, exclusive: false},gotDir,fails);
So now i can access a directory and push anything in it i need to access for my app to work with.