坚持到最后一刻,终于幸福来敲门!
重新打包spk步骤如下
1. keytool -genkeypair -alias A.keystore -keyalg RSA -validity 4000 -keystore A.keystore(A是你的将要打包的A的原apk的签名名称)
2. jarsigner -verbose -keystore A.keystore -signedjar C.apk B.apk A.keystore(B是你apk的名称,C是你想要得到的重新打包的apk文件),
就在这时出现问题:jarsigner: 无法打开 jar 文件:B.apk.别急,换条路走!
3.写一个脚本名为resign.sh,和B.apk放在sdk-bin文件下
echo 1111 $1.apk
unzip -o $1.apk -d product
cd product
rm -r -f META-INF/
zip -r product.apk *
mv product.apk ..
cd ..
rm -f -r product
jarsigner -keystore ~/.android/debug.keystore -storepass android -keypass android product.apk androiddebugkey
zipalign 4 product.apk $1-resigner.apk
4.用gitbush打开,输入./resign.sh B 就行了(注意这里是B不是B.apk)
我在这里就出现过一种错误,就是B.apk是通过非签名导包过来的,结果的确生成一个B-resigned.apk,但是这个东西在手机端安装不了,一直提示安装错误。那么这个问题怎么解决我还真的不知道,希望有看到的朋友如果自己知道怎么搞可以在下面留言告知一下,大家相互进步。最终我是按照先导一个有签名的包,再解压以后删除这个包里的META开头的文件夹,再重新打包成成apk文件,就这我们上面所说的B.apk了.