Android APK反编译
新版本apktool用法:
C://Windows
,可以将这两个文件放在任何位置,重新签名打包
1.回编译apktool b files
files就是对应刚刚修改的apk文件夹,执行完后会重新生成一个apk文件
注意:编译后的apk是安装不成功的,总是提示 Failure [INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION]
,实质是没签名。
2.先生成证书:
keytool -genkey -keystore coolapk.keystore -keyalg RSA -validity 10000 -alias coolapk
注意:上面-keystore后面跟的是签名文件的名字,而-alias是别名,一般情况下-keystore后面跟-alias是一样的,但其实两者没有关系,这也是我故意搞成不一样的原因。
3.为apk进行签名:
jarsigner -digestalg SHA1 -sigalg MD5withRSA -tsa -verbose -keystore coolapk.keystore -signedjar coolapk-signed.apk coolapk.apk coolapk
注意:
1.最后的”coolapk”就是-alias后面带的,必须保持一致
2.如果不带-digestalg SHA1 -sigalg MD5withRSA签名后的apk安装也会不成功,INSTALL_PARSE_FAILED_NO_CERTIFICATES的错误,如果不带-tsa会报一个时间方面的警告./////////////第二种签名方法 start/////////////////
先生成证书:
keytool -genkey -keystore example.keystore -keyalg RSA -validity 10000 -alias example
生成一个证书,然后为这个 apk 进行签名:
jarsigner -verbose -keystore test.keystore -signedjar app_debug_signed.apk app_debug_output.apk test
上面的命令的含义为: jarsigner -日志级别[verbose] -keystore 证书地址[test.keystore] -signedjar 签名后的apk路径[app_debug_signed.apk] 待签名的apk路径[app_debug_output.apk] 证书alias名称[test]
输出结果为app_debug_signed.apk
/////////////第二种签名方法 end/////////////////