跳转至

修改成品apk并打包

以下内容仅方便开发调试用,无其他用途。引用来自https://tw511.com/a/01/15111.htmlhttps://medium.com/@sandeepcirusanagunla/decompile-and-recompile-an-android-apk-using-apktool-3d84c2055a82

一、准备工具

  1. apktool - 用于逆向android apk的工具,方便反编译和打包

  2. keytool - 创建密钥和证书的java工具,可以在jdk中找到

  3. jarsigner - 对JAR/APK文件签名的工具,可以在jdk中找到

    apksigner - 对apk文件签名的工具,可以在android sdk中找到

  4. zipalign - 压缩对齐工具,可以在android sdk中找到

  5. dex2jar - 将android dex文件转换为jar文件的工具

  6. jadx - 查看jar包中java源码的工具

二、操作步骤

# apktool查看具体用法
# java -jar E:\tools\android\apktool\apktool_2.7.0.jar
# 反编译生成jar包
# E:\tools\android\dex-tools-2.2-SNAPSHOT\d2j-dex2jar.bat yourapk.apk
# 将jar包丢到jadx中即可查看
########################
# 反编译apk
java -jar E:\tools\android\apktool\apktool_2.7.0.jar d yourapk.apk
########################
# 修改内容
# 可以替换lib下的so
# 可以修改smali中的内容,前提是需要了解smali的语法
# 可以修改res中的资源文件
# 可以修改apktool.yml中的版本号
########################
# 打包apk
java -jar E:\tools\android\apktool\apktool_2.7.0.jar b -f -d yourapk
# 打包后,apk会输出在yourapk/dist目录
# 压缩对齐
E:\tools\android\SDK\build-tools\sdk版本\zipalign.exe -v 4 yourapk/dist/yourapk.apk newname.apk
# apk签名, jarsigner是v1签名,apksigner是v2签名
# 没有keystore需要生成一个
# keytool -genkey -v -keystore my-release-key.keystore -alias my-release-key -keyalg RSA -keysize 2048 -validity 10000
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore newname.apk my-release-key

本文总阅读量
回到页面顶部