robotium测试apk包修改签名问题

最近又有leader给了死命令,最近要做android自动化测试,所以必须把学习啊,由于之前没有java基础所以必须从java学起,这是一个辛苦啊,现在突然发现从新学起一门技术这是困难啊,但是难也学啊,这是工作也是一种挑战,不过很久没这么挑战过了,这是一种快乐,这不亚于别人玩游戏时杀了一个对手,或者过了一个很久没过去的关卡。我对写代码的热情不亚于别人对游戏的热情,所以不是那么聪明,但是还是取得了不少成绩,今天就分享一下我刚刚取得了一个小成就:

使用robotium做过自动化测试的同学都会有这样一个问题,在只有apk包的时候,测试时老出现签名不匹配,而无法进行测试。当然我们想到的第一个办法肯定就是对测试包从新签名,使测试的包和我们测试程序签名保持一致,但是想起来很简单,但是做起来就不是那么简单,网上也有很多介绍。有再dos下有的在linux下等到各种各样的都有,当然也有用工具的。下面我就介绍一下的修改签名流程吧.

第一步:

我们拿到包以后可以查看包的信息,其中这就是一个很好的工具apk版本检测.exe


第二步:

去签名,就是把apk包原有的签名去掉,可以使用re-sign.jar这个工具,使用很简单。


第三步:

从新签名,这个工具就比较多了,我经常选择APKSign.exe这个工具,这个也很简单,网上都有说明


只用这3个工具就可以完成重新签名工作,但是现在有个问题,就是无法对被测试的包进行做debug签名,就算我使用debug.keystore这个签名证书也是自定义签名,所以被测试的包每次也要进行从新签名才能保证和被测试包的签名完全一致,所以这是一个很烦人的工作,不能直接用debug进行调试,如果哪位大侠有好的办法希望能分享一下。


如果这2个包都安装好以后怎么运行测试包呢:别急这是dos下的运行命令:

adb shell am instrument -w com.xiaomi.channel.test/android.test.InstrumentationTestRunner&

com.xiaomi.channel.test-------这是被测试的包名



jarsigner -verbose -keystore debug.keystore -signedjar fmcg_v.apk fmcg_v1.4.2.7_debug.apk androiddebugkey
其中fmcg_v1.4.2.7_debug.apk 是未签名的包
fmcg_v.apk 签名后的包名
密码为android


测试用到的工具下载地址:http://download.csdn.net/download/gzh0222/3896259

你可能感兴趣的:(robot)