如何使用系统签名签署Android应用程序?

时间:2010-09-03 11:02:58

标签: android

我已经为我的HTC手机下载并编译了带有signed-google_ion-ota-14721.zip图像的Android 2.1版本。编译成功完成,因此系统映像闪烁。 如何使用系统签名签署我自己的Android应用程序?

有人可以描述使用系统签名签署用户应用程序的整个过程,因为我对签名过程完全不熟悉。

2 个答案:

答案 0 :(得分:112)

最后,我设法发现了一种使用平台签名对我的应用程序进行签名的方法。您需要使用<root-of-android-source-tree>/build/target/product/security/中的密钥并在AndroidManifest.xml文件中添加android:sharedUserId="android.uid.system"

来自this google groups thread的详细信息:

  

在使用由...生成的证书签署Android 1.6 for Dream之上   我自己也设法用平台证书签署我的应用程序   并使用系统sharedUserId运行它。这些是我采取的步骤:

     
      
  • 使用https://web.archive.org/web/20081211205758/http://source.android.com:80/documentation/building-for-dream为您的梦想构建并闪现自己的Android。使用   mkkey.sh脚本   要创建https://web.archive.org/web/20091213215940/http://pdk.android.com/online-pdk/guide/release_keys.html   新证书,包括x509证书,然后再“制作”。
  •   
  • 在您的应用的AndroidManifest.xml中:在<manifest>元素下添加属性android:sharedUserId="android.uid.system"
  •   
  • 使用Eclipse导出未签名的Android应用程序版本:右键单击项目&gt;&gt; Android工具&gt;&gt;出口   未签名的应用程序包。
  •   
  • 使用<root-of-android-source-tree>/out/host/<your-host>/framework/signapk.jar使用platform.x509.pemplatform.pk8 <root-of-android-source-tree>/build/target/product/security对您的应用进行签名   早先生成的:

    java -jar signapk.jar platform.x509.pem platform.pk8 YourApp-unsigned.apk YourApp-signed.apk.
    
  •   
  • 将应用安装到您的设备:

    adb install YourApp-signed.apk
    
  •   
  • 运行您的应用
  •   
  • 使用adb shell ps确认您的应用是否以系统身份运行。
  •   

答案 1 :(得分:10)

程序运行正常我已经尝试过了。 只要您在签名后忘记运行zipalign,因为签名过程会使APK保持未对齐状态,并且不会安装。您需要安装对齐的APK。

zipalign -fv 4 YourApplication-signed.apk YourApplication-aligned.apk