【问题标题】:Adding another key to AOSP build为 AOSP 构建添加另一个密钥
【发布时间】:2019-02-07 21:33:01
【问题描述】:

我有两个来自两个不同供应商的不同 Android 设备。每个人都有自己定制的 AOSP 构建(由我管理)。我在两台设备上都安装了一组系统签名的应用程序。我想避免为每台设备分别签署每个 APK。

我可以通过替换 AOSP 版本 (target/product/security/platform.{pk8,x50.pem}) 中的系统证书来做到这一点。但这意味着为每台设备重新签署任何供应商提供的应用程序。我想避免这种情况。

如何为每个构建添加第二个系统证书?我会使用匹配的密钥签署我自己的应用程序,并在两台设备上安装单个 APK。供应商应用可以保留与原始系统密钥匹配的现有签名。

【问题讨论】:

    标签: android android-source


    【解决方案1】:

    您应该将您的密钥文件(pk8 和 x509,pem)放在 target/product/security/your_new_key.{pk8,x50.pem} 目录中,并在应用程序的 Android.mk 文件中使用此短语:

    LOCAL_CERTIFICATE := you_new_key
    

    然后将使用您的新密钥对该应用进行签名。

    有关 AOSP 中存在的默认密钥(共享、媒体等)的更多信息,请搜索

    【讨论】:

    • 感谢您的尝试,但这只是在构建期间(重新)签署应用程序。如果我想在构建后在两个平台上重新构建并重新安装该应用程序,这将无济于事。
    • 那么您将有两种方法: 1- 使用 .pk8 和 .x509.pem 文件构建密钥库并将其导入 Android Studio 并签署您的应用程序。 2- 使用build/tools/releasetools/sign_target_files_apk 有关更多信息,请参阅相关 python 脚本的文档字符串@AllenLuce
    • 如果我没有写好问题,我深表歉意。我想要做的是让一个 Android 版本将多个密钥识别为系统签名密钥。鉴于我在过去几个月中了解到的情况,如果不对 AOSP 处理签名的方式进行重大更改,这似乎是不可能的。
    • 你能看看我的问题吗:stackoverflow.com/q/57959598/5506167谢谢@AllenLuce
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多