Har*_*ani 28
您可以使用不同的密钥库重新签名您的apk.
跟着这些步骤:
签署发布: $1.apk -> $1_release.apk"
第1步:删除任何以前的签名
.apk到.zip..apk zip [originalapk]zip "$1".apk -d 第2步:使用release.keystore进行签名:
命令:
jarsigner –verbose –keystore [keystorefile] –signedjar [unalignedapk] [originalapk] alias_name
Run Code Online (Sandbox Code Playgroud)
例:
C:\Program Files\Java\jdk1.6.0_43\bin> jarsigner -verbose -keystore release.keystore -signedjar "$1"_unaligned.apk "$1".apk release
Run Code Online (Sandbox Code Playgroud)
第3步:对齐
命令: zipalign -f 4 [unalignedapk] [releaseapk]
例:
C:\Users\Downloads\adt-bundle-windows-x86\adt-bundle-windows-x86\sdk\too ls>zipalign -f 4 "$1"_unaligned.apk "$1"_release.apk
Run Code Online (Sandbox Code Playgroud)
第4步:清理
命令:rm 4 [unalignedapk]
示例:rm "$1"_unaligned.apk
其他命令可能会有所帮助:
keytool -genkey -alias -keystore
keytool -list -keystore
注意:
为了签署我们的申请,我们已将JDK从1.7降级到1.6.0_43更新.
原因:
从JDK 7开始,默认的签名算法已经更改,要求您在签署APK时指定签名和摘要算法(-sigalg和-digestalg).
命令:
jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 -keystore [keystorefile] [originalapk] alias_name
Run Code Online (Sandbox Code Playgroud)
您还可以使用开源的apk-resigner脚本,它非常易于使用.
APK-resigner:https://github.com/onbiron/apk-resigner
./signapk.sh calculator.apk ~/.android/debug.keystore android androiddebugkey
Run Code Online (Sandbox Code Playgroud)
此外,如果您想使用调试密钥对APK进行签名,则可以使用.
./signapk.sh calculator.apk
Run Code Online (Sandbox Code Playgroud)
zip -d xxxx.apk(你的apk文件)META-INF/*
jarsigner -verbose -keystore xxxx.keystore(你的密钥库)-signedjar out_sign.apk(outfile)unsign.apk(unsign apk)xxxxxalias(你的别名)
添加params -digestalg SHA1 -sigalg MD5withRSA
jarsigner -verbose -digestalg SHA1 -sigalg MD5withRSA -keystore xxxx.keystore(你的密钥库)-signedjar out_sign.apk(outfile)unsign.apk(unsign apk)xxxxxalias(你的别名)
| 归档时间: |
|
| 查看次数: |
44652 次 |
| 最近记录: |