zoukankan      html  css  js  c++  java
  • [Android] 重新打包(替换)签名APK

    对于已经签名好的APK,我们可能因为修复问题、逆向等原因需要替换其中的so或者jar之类的部分,如果是本地测试替换so,倒是可以通过Root设备来直接替换。但如果是Java部分或者非Root设备就不能直接换了,要重新签名打包一下APK。

    下面记录一下重新替换so再打包签名的办法:

    (1)下载ApkTool工具,该工具用于解包、重新打包都非常好用

    https://ibotpeaches.github.io/Apktool/install/

    下载其中的 apktool_x.x.x.jar 就可以了。

    (2)先解包:对已经签名的APK执行如下命令

    java  -jar  apktool的jar文件  d(表示反编译)  要解包的apk  -o(输出)  输出文件名
    
    # 例如(默认会输出同名文件夹到当前同级路径):
    java -jar apktool_2.3.4.jar d Auto_480_release.apk

    (3)替换输出文件夹中的内容,例如替换so文件到文件夹内

    (4)再打包:对刚才的输出目录重新打包为APK

    # 针对上面输出目录重新打包,默认会输出到dist子目录(会有提示):
    java -jar apktool_2.3.4.jar b Auto_480_release

    (5)在输出的dist目录中可以看到重新打包好的APK,注释是没有签名的,要重新签一下名:

    jarsigner -keystore 签名文件完整路径 -signedjar 要输出的签名APK名 上一步打包好的APK路径 签名的别名
    
    # 例如:
    jarsigner -keystore /Users/kuliuheng/workspace/androidWorkspace/android.keystore -signedjar Auto_480_release_signed.apk Auto_480_release.apk testalias

    (6)验证签名:

  • 相关阅读:
    91. 最短Hamilton路径【状压DP】
    EF框架使用
    html文本转化为html格式显示的问题
    遇到的错误及解决方式总结
    快速上手一个第三方控件,工具等
    提高窗体加载效率
    个人的一些技巧总结
    一些调试程序的小技巧
    Git原理基础(版本控制机制)
    版本控制介绍
  • 原文地址:https://www.cnblogs.com/kuliuheng/p/13705180.html
Copyright © 2011-2022 走看看