所需工具下载

通过apktool.jar反编译获取到AndroidMainifest.xml

# java -jar apktool.jar d XXX.apk

java -jar apktool.jar d XXX.apk

修改包名: 打开解压后的AndroidManifest.xml文件,找到标签,其中的package属性就是APK的包名,修改这个值。 例如将com.example.myapp改为com.example.newapp。

更新依赖: 如果应用中使用了R类或者其他引用了包名的地方,也需要同步修改。

重新打包:修改完成后,使用ApkTool重新打包APK:

java -jar apktool.jar b XXX.apk

会在dist下生成一个重新打包后的APK。

5.生成keystore签名文件

# 生成keystore签名文件

keytool -genkeypair -alias klee -keyalg RSA -keysize 2048 -validity 10000 -keystore klee_keystore.jks -storepass klee@123 -keypass klee@123 -dname "CN=klee, OU=gx, O=gd, L=gz, ST=gx, C=th"

# 查看keystore

keytool -list -v -keystore klee_keystore.jks

签名和优化: 使用 jarsigner 工具进行签名:

java -jar apksigner.jar sign --ks klee_keystore.jks --ks-key-alias klee --ks-pass pass:klee123 --key-pass pass:klee123 --out D:\create_apk.apk D:\XXX.apk

使用zipalign进行优化:

zipalign.exe -v 4 create_apk.apk create_aligned_apk.apk

验证结果:安装create_aligned_apk.apk,确认修改后的包名是否生效,且应用是否能够正常运行。