How to sign Android app with system signature?

前端 未结 2 1123
面向向阳花
面向向阳花 2020-11-22 15:06

I\'ve downloaded and compiled Android 2.1 version with signed-google_ion-ota-14721.zip image for my HTC phone. The compile completed successfully and so the sys

2条回答
  •  情歌与酒
    2020-11-22 15:27

    Finally I managed to discover a way to sign my application with the platform signature. You need to use keys located in /build/target/product/security/ and add android:sharedUserId="android.uid.system" in your AndroidManifest.xml file.

    Details from this google groups thread:

    On top of signing Android 1.6 for Dream with certificates generated by myself, I've also managed to sign my app with the platform certificate and run it with the system sharedUserId. These are the steps I took:

    • Build and flash to your Dream your own Android using https://web.archive.org/web/20081211205758/http://source.android.com:80/documentation/building-for-dream. Use the mkkey.sh script on https://web.archive.org/web/20091213215940/http://pdk.android.com/online-pdk/guide/release_keys.html to create new certificates, including x509 certificates before you do 'make'.
    • In the AndroidManifest.xml of your application: under the element, add the attribute android:sharedUserId="android.uid.system".
    • Export an unsigned version of your Android application using Eclipse: right-click on the project >> Android Tools >> Export Unsigned Application Package.
    • Use /out/host//framework/signapk.jar to sign your app using platform.x509.pem and platform.pk8 in /build/target/product/security generated earlier:

      java -jar signapk.jar platform.x509.pem platform.pk8 YourApp-unsigned.apk YourApp-signed.apk.
      
    • Install the app to your device:

      adb install YourApp-signed.apk
      
    • Run your app
    • Use adb shell ps to confirm that your app is running as system.

提交回复
热议问题