我已经为我的HTC手机下载并编译了带有signed-google_ion-ota-14721.zip
图像的Android 2.1版本。编译成功完成,因此系统映像闪烁。
如何使用系统签名签署我自己的Android应用程序?
有人可以描述使用系统签名签署用户应用程序的整个过程,因为我对签名过程完全不熟悉。
答案 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.pem
和platform.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