Android 自动化测试-robotium重签名注意事项

        前段时间在学习robotium,作为菜鸟的我遇到不少问题,首当其冲的就是重签名问题,网上很多说re-sign.jar的工具,即将应用程序拖入就可以重签名成debug包,但是我尝试了很久都没有成功,后来在网上查了下资料,才发现我的jdk是1.7.0的,估计跟版本有关系,懒得纠结了就尝试了敲命令重签名。这里将会提到命令重签名和ADT调用证书配置问题,如何制作个证书,网上有很多帖子的。

重签名

应用签名参考指令如下:该指令目前只支持jdk1.6;jdk7与6签名指令有少许差异,需要特别注意。

应用程序和测试程序要求有一致的签名信息,才能一起运行,重签名方法如下:

1.将apk文件的后缀改名为xx.zip,使用winrar打开后,把META-INF文件夹删掉。

2.将apk文件的后缀名改回apk。(不用改,尝试也是可以的)

3.使用下面的jarsigner命令给apk重新签名。



命令如:


debug.keystore:为androiddebug 密钥文件;默认路径为:C:\Users\Administrator\.android\debug.keystore

storepass: 为密钥库密码

keypass :为别名密码

androiddebugkey:为别名

F:\app\91at.apk :为需要签名的文件

F:\app\91at_new.apk :重新签名后新文件

注:这边需要注意如果你的jdk版本是1.6的,重签名完的包可以直接装,但是1.7的就不行,版主之前很悲剧用的是1.7的,安装总是提示签名有问题,后来在网上查了才知道,对应jdk1.7的,命令后面要加上-digestalg SHA1 -sigalg 

ADT调用自定义证书

版主自己在做的时候用的是自己的证书,ADT允许自定义调试用证书,在Window->Preferences->Android->Build->Customdebug keystore这里,试了一下选择正式证书后提示:”Keystore was tampered with, or password wasincorrect”,如下图所示:


其实这个界面并没有提供输入Keystore密码,选择别名之类的地方,所以就感到非常奇怪了,查了一下官方文档发现,即使是自定义的调试证书,也需要保证和默认证书一样的密码,别名alias和别名密码。

文档中提到的默认证书信息如下:

Keystore name: “debug.keystore
Keystore password: “android
Key alias: “androiddebugkey”
Key password: “android”
CN: “CN=Android Debug,O=Android,C=US”

遵循这个规则就可以用自定义调试证书了。不过仔细想想感觉这功能这样很是鸡肋,希望以后版本的ADT会改进吧。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值