反编译对apk进行打包签名

反编译命令

java -jar apktool d 文件名.apk

打包命令

java -jar apktool b 文件目录 -o 指定文件名.apk

签名命令

预备条件:有个密钥库文件。
密钥库文件生成的方法:

keytool -genkey -alias test.keystore -keyalg RSA -validity 20000 -keystore  test.keystore

其中,-genkey表示生成密钥,-alias表示密钥别名,-keyalg表示密钥的算法,-validity表示有效期,-keystor表示生成文件的名字
之后会提示输入相应的信息,输入后按Y确认即可

  • 若最后提示keytool 错误: java.io.FileNotFoundException: android.keystore (拒绝访问。)
    是因为-keystore test.keystore指定的路径(即Java路径)是不能写的,需要指定到其他地方,如-keystore d:\test.keystore,将文件保存在d盘。

使用test.keystore签名:

jarsigner -verbose -keystore test.keystore -signedjar testapk_signed.apk testapk.apk  test.keystore

其中:
-verbose表示显示出签名详细信息
-keystore表示使用当前目录中的test.keystore签名证书文件。
-signedjar testapk_signed.apk表示签名后生成的APK名称

testapk.apk表示未签名 的APK

test.keystore表示密钥的别名

应用重新打包签名安装后,可能不能正常使用,是因为代码中可能加入了验证证书的相关代码。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容