最近一直在看有关Robotium对安卓APP进行自动化测试的内容,结合网上所说的APK重新签名的问题,现将个人的实际操作汇总如下:
1、去除签名
将apk文件后缀改为.zip,然后从winrar中删除META-INF文件夹,删除后重新将文件名改成apk的后缀,这样就去除签名了。
2、JDK为1.6,
手动去除签名后然后用下面的命令进行签名:
注意下面黄色高亮和灰色高亮的字,需要根据自己的debug.keystore的位置,和待签名apk的位置进行设置
> jarsigner -keystore D:\Android\avd\.android\debug.keystore -storepass android -keypass android D:\Android\apk\02-AndroidCalculator-unsign.apk androiddebugkey
> zipalign 4 D:\Android\apk\02-AndroidCalculator-unsign.apk D:\Android\apk\02-AndroidCalculator-sign.apk
zipalign能够使apk文件中未压缩的数据在4个字节边界上对齐(4个字节是一个性能很好的值)3、JDK为1.7(含1.7)以上,签名稍有区别,需要加上参数:-digestalg SHA1 -sigalg MD5withRSA
>jarsigner
> zipalign 4
由于我装的是JDK1.7版本,故需要加上红色标记的命令,这点非常重要,一定要看清楚本机安装的JDK版本!