robotium 签名

Android系统要求每一个Android应用程序必须要经过数字签名才能够安装到系统中,也就是说如果一个Android应用程序没有经过数字签名,是没有办法安装到系统中的!

在实现整个测试过程前,先简单了解下Android应用程序签名:

Android 应用程序为什么要签名?签名的作用是什么?

签名的作用:

(1) 发送者身份的认证

(2) 保证输入信息的完整性

(3) 防止交易中的抵赖发生


1.  Re-sign.jar(由于安装的是jdk1.7,重新签名后的apk安装不成功)

因为robotium要求被测应用和测试代码要有一致的签名(做黑盒测试的时候),所以我们需要把下载到的apk,通过re-sign.jar来产生debug key的apk,这个重新生成的apk就会跟测试项目签名一致了

下载地址:http://troido.de/downloads/

下载完后,在命令行下 通过 java -jar re-sign.jar就会出现一个节目,然后将apk拖到这个节目,就会自动生成一个debug key的apk
产生新apk的过程中会弹出一个信息框,记得截下图,因为里面有两个信息我们等会的代码中需要用到(如果报找不到aapt,aipalign,将adt-bundle-windows-x86_64-20140702\sdk\build-tools\android-4.4W目录下的aapt.exe拷贝到adt-bundle-windows-x86_64-20140702\sdk\tools目录下; 将adt-bundle-windows-x86_64-20140702\sdk\build-tools\android-4.4W目录下的zipalign.exe拷贝到adt-bundle-windows-x86_64-20140702\sdk\tools目录下

 

安装产生的apk。然后打开模拟器(模拟器器一定要打开才能安装成功),然后打开命令行 adb install mitalk_debug.apk(新生成apk的名称) , 或者双击apk文件也可以安装
安装成功就可以再模拟器里看到该应用的图标了

注:re-sign.jar的方式,是不需要删除任何文件的,只是在JDK1.7的时候会出现不成功的情况

2.  手工命令行签名

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 androidD:\Android\apk\02-AndroidCalculator-unsign.apk androiddebugkey
zipalign 4D:\Android\apk\02-AndroidCalculator-unsign.apkD:\Android\apk\02-AndroidCalculator-sign.apk

zipalign能够使apk文件中未压缩的数据在4个字节边界上对齐(4个字节是一个性能很好的值)

3.  JDK1.7(含1.7)以上,签名稍有区别,需要加上参数:-digestalg SHA1 -sigalg MD5withRSA

jarsigner-digestalg SHA1 -sigalg MD5withRSA -keystoreD:\Android\avd.android\debug.keystore -storepass android -keypass androidD:\Android\apk\plingm\com.freephoo.android_1180-unsign.apk androiddebugkey
zipalign 4D:\Android\apk\plingm\com.freephoo.android_1180-unsign.apk D:\Android\apk\plingm\com.freephoo.android_1180-sign.apk

由于我装的是JDK1.7版本,故上述“ -digestalg SHA1 -sigalg MD5withRSA”的命令必须加上,这点非常重要,一定要看清楚本机安装的JDK版本!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值