I need an Android Application that will run on android 4.0.3. This Applications purpose is to automatically upgrade and or install new apps on the device with out any user intervention, although should display some information on the screen to indicate an upgrade is happening.
The App will be launched by another App via an Android Intent and should on start-up contact a predefined web server and download a specific file which will contain a list of android applications and their current versions and and a URL location where each app can be downloaded (probably from the same server). The App will then need to check if the each app listed is installed and if not install it or if it is installed and the version is older than that which is listed in the file then uninstall the current version and download install the new version. Once completed the App will exit.
Update file structure should be JSON or XML.
This App will be running on an embedded device which plugs into a TV not a phone.
As this App will need elevated permissions we have to ways we can handle the elevation process.
1. Create the app using standard Android API and run as System user. We have the ability to sign apps for our target platform. (Preferred method)
2. We have a su type command which can be used to give root shell access so commands like wget, pm and am should be possible.
Alternatively if you already have a framework or some other structure for this purpose we would consider that also. There may even be a system level android API for this purpose.
We will require all source code e.t.c for the app, as modifications will likely be required in the future.