nat*_*z0r 15 android android-source lg optimus
我正在为我们部署给客户的设备(LG p509 - Optimus 1)开发自动应用更新解决方案.我们控制了这些设备,并且当前在它们上安装了一个自定义内核(但不是完整的自定义ROM).由于我们正在尝试在设备上自动更新我们的应用程序,因此我们需要使用我们控制的密钥对系统进行签名,以便我们可以使用相同的密钥对应用程序进行签名(以获得INSTALL_PACKAGES权限).
我在设备上运行AOSP构建时遇到了一些问题(使用LG发布的设备源代码),我正试图退后一步并评估我们的选项.我有几个问题:
任何见解将不胜感激.
nat*_*z0r 15
好的,我们弄清楚了.我不打算详细介绍(写得太多),但这里是任何偶然发现这个问题的人的基本要点:
如果要更改系统签名的密钥,则需要执行以下步骤:
/system/
从正在运行的手机中提取目录.apk
文件(来自/system/app
和/system/framework
)以确定哪些文件使用相同的密钥签名framework-res.apk
.我使用了此处链接的脚本的修改版本来确定要签署的APK./system/app
与其共享签名密钥的APK framework-res.apk
被索引,则需要对其进行解除索引.framework-res.apk
包装他们update.zip
(谷歌如何做到这一点).在我的特定设备,我不得不辞职都/system/framework/framework-res.apk
与/system/framework/lge-res.apk
从/system/framework
,也不得不去ODEX并签署20 .apks
从/system/app
文件夹中来使一切顺利运行.
"系统apk"是/system/framework/framework.jar
.我从来没有尝试重新签署系统映像,但我编写的代码是系统映像的一部分(不在普通的apk项目中),它成为了这个jar的一部分.此目录中还有其他罐子,可能还需要重新签名.
签名是随机生成并放置在两个文件中构建环境,build/target/product/security/platform.pk8
和build/target/product/security/platform.x509.pem
.我不知道如何从普通的密钥库中提取这些内容,但是我已经能够将它们从一个固件版本复制到另一个固件版本,以确保两个图像具有相同的平台密钥.此外,我已经能够使用此命令更改APK的签名:java -jar signapk.jar platform.x509.pem platform.pk8 Old.apk New.apk
.你会在你的构建中找到signapk.jar,atout/host/linux-x86/framework/signapk.jar
归档时间: |
|
查看次数: |
6466 次 |
最近记录: |