zoukankan      html  css  js  c++  java
  • android: 对apk进行系统签名

    下午收到合作伙伴给的测试的Apk,该apk需要用到系统权限,并且要在我司开发的android开发板上运行。本来想图省事,于是直接使用 adb push 命令将这个apk push 到system/app目录下,后来发现apk push成功了,但是重启板子后,他们的apk 死活跑不起来,甚至launcher上连图标都没有!后来咨询他们的工程师,说是需要给该apk 加上系统签名,并且要使用adb install 指令才能安装成功。通过反编译他们的apk, 注意到清单文件中声明了:

    android:sharedUserId="android.uid.system"

    所以要是直接使用adb install 指令安装是肯定不行的,可能会报一些:

    INSTALL_FAILED_SHARED_USER_INCOMPATIBLE 诸如此类的问题。

    于是找系统组的人要了签名证书文件:platform.pk8 和 platform.x509.pem,对该apk进行系统签名:

    java -jar signapk.jar platform.x509.pem platform.pk8 8761_Dongle_Demo.apk 8761_Dongle_signed.apk

    signapk.jar 是签名工具。

    8761_Dongle_Demo.apk 是合作伙伴给的未签名的apk

    8761_Dongle_signed.apk 是我指定的生成的apk的名字

    执行:

    这样就能生成带系统签名的apk, 再次执行adb install 就不会再报 INSTALL_FAILED_SHARED_USER_INCOMPATIBLE 这样的问题了。

    关于 platform.pk8 和 platform.x509.pem 这两个文件

    这两个文件位于: /build/target/product/security/ 目录下:http://androidxref.com/4.4_r1/xref/build/target/product/security/

    但要注意不能直接使用AOSP code中的这两个文件,这两个文件由定制android系统的厂商提供。

    signapk.jar 下载链接:链接: https://pan.baidu.com/s/1mVQTwLP_Ju52p5A_MGr8UQ 提取码: ba3c

  • 相关阅读:
    vue+element-ui 字体自适应不同屏幕
    nginx——前端服务环境
    定位问题 vue+element-ui+easyui(兼容性)
    四叶草(css)
    vue-cil 打包爬坑(解决)
    el-tree文本内容过多显示不完全问题(解决)
    v-for(:key)绑定index、id、key的区别
    top 命令详解
    uptime 命令详解
    w 命令详解
  • 原文地址:https://www.cnblogs.com/yongdaimi/p/12850521.html
Copyright © 2011-2022 走看看