The topic we would like to tell you today is how to create an Android System App with the entire set of touch panels/tablets Ltouch F, FW (Wifi) and development boards Ltouch S and SW (Wifi). An Android system app is a special kind of application that has higher privileges and that has not the
Example of tasks that can be performed with system apps are:
- Install and remove other apps
- Execute commands in super user mode with the Java command: Runtime.getRuntime.exec(“command line command here”)
- Low level permission for interacting with the platform
- Full access to device’s resources
On normal Android devices found on the market, it is usually not possible to create such applications without having two special certificates file. These certificates are provided by the manufacturer. They are located in the source files folders and generated when the system is built.
We are happy to announce that all the Ltouch products do not have such limitation therefore all the customers that use Ltouch Android panels is now able to sign their applications with these certificates producing Android system apps running with the highest permissions’ level available.
The procedure to create an Android system app is the following:
- In your application’s AndroidManifest.xml file, under the <manifest> element, add the attribute android_sharedUserId=”android.uid.system”
- Export an unsigned version of your Android application. In Eclipse just right-click on the project >> Android Tools >> Export Unsigned Application Package.
- Use the signapk.jar file to sign your application using the two certificate files: platform.x509.pem and platform.pk8 (provided for the customers in the restricted support section of our web site): java -jar signapk.jar platform.x509.pem platform.pk8 YourApp-unsigned.apk YourApp-signed.apk
- Deploy the created app into the Ltouch device with adb install Your-signed.apk or with any other methods allowed by Android.
That’s it!
Other resources
More information on that topic is available at StackOverflow.
If you are interested in knowing more on the Android System Permissions, take a look at the API Guides provided by Google. http://developer.android.com/guide/topics/security/permissions.html
http://stackoverflow.com/questions/3635101/how-to-sign-android-app-with-system-signature/3651653#3651653