Robotium测试没有源码的apk--需重签名apk
Robotium是基于Instrumentation框架的,其编写的测试脚本与被测程序运行在同一个进程里面,所以这需要测试程序与被测程序拥有相同的签名,否则无法进行通讯。
在只有apk的情况下可以采用“去签名再签名”的方法对被测程序进行签名。且没有签过名的apk是装不到手机里去的。
那你是否要问,我的测试程序打包成的apk为什么可以直接装,而不用签名呢?
那是因为当你再用eclipse生成apk时,eclipse用本地的sdk中的签名工具,自动为你签过名了,所以eclipse打包成的apk可以直接装到手机里去。
所以说假如你想与被测程序通讯,即做测试,两种途径:
1、查看被测程序是用的哪种签名,你也同样用被测程序的签名把你自己的测试脚本也签成这个,但是这个是不容易做到的。
被测程序如果没有源码的话,签名估计也是搞不到的,那可是机密文件,很少外传的,
比如说你想测美团外卖的app,但是你是不可能拿到这个app签名的,所以只能采用第二种方法。
2、把被测程序也签成跟你测试脚本一样的签名,即也用本地sdk中的签名工具重新签一下。
这里(http://jingyan.baidu.com/album/bad08e1ee438e109c851213d.html?picindex=2)介绍了两种方法,
第一种是利用debug.keystore,第二种是利用re-sign.jar。无论哪一种方法,都是要先配置环境变量,ANDROID_HOME, JAVA_HOME等变量,
这里你把平时需要android环境需要配置的都配置完,运行签名命令之后,如果提示,找不到路径之类的,你再接着配别的,因为我也记不清具体是哪几个了。
方法一、利用debug.keystore,我就不多做介绍了,可以参考http://www.51testing.com/html/92/115892-223023.html,反正我是没成功,不知道是什么问题,祝你好运!
方法二、利用re-sign.jar,这个特别方便,一次成功,只是re-sign.jar不好下载,在网上找了很多,都没有找到,最终在一个测试的群文件里找到啦,皇天不负有心人,终于搞定啦!
现把re-sign.jar下载链接http://files.cnblogs.com/files/zh-ya-jing/re-sign.zip分享给大家!
如果上边还没解决你的问题,你可能是像我一样,测试的是手机系统,整个手机系统预装了多个app,采用上述方法二把被测程序签名成与测试脚本相同的签名,这显然不现实,
所以只能采用方法一,把测试脚本签名成手机系统app的签名,这你只能找手机系统版本的开发项目组,索要手机app的签名。签过之后,你把测试脚本装到手机里,就可以控制手机app啦!
Robotium测试没有源码的apk--需重签名apk的更多相关文章
- 为没有源码的DLL文件添加强名称
为没有源码的DLL文件添加强名称 如果项目中引用了其他没有源码的dll文件,并且此dll文件是没有强名称的程序集,则编译时会出现类似 "Assembly generation failed ...
- Eclipse中查看没有源码的Class文件的方法
本文地址:http://blog.csdn.net/sushengmiyan/article/details/18798473 本文作者:sushengmiyan 我们在使用Eclipse的时候,经常 ...
- mac下自己实现re-sign.jar对apk进行重签名
利用Robotinum对给的apk文件进行自动化测试,在不知道源码的情况下,只有apk文件如何进行自动化测试呢? 首先需要对apk文件进行重签名,并获得该apk文件的包名和程序入口的类名. 最开始网上 ...
- 使用re-sign.jar对apk进行重签名
准备: ① re-sign.jar重签名工具:(下载地址为:http://troido.de/downloads/category/1): ② 待重签名的apk: 重签名步骤: ① 右键re ...
- 5.eclipse 自带的jdk没有源码,改了它
其实JDK源码在安装的时候已经放在了jdk所在的目录下,只是eclipse使用 了不带有源码的jre,导致没找到对应的源码,点击 Window->Perference->Java-> ...
- 用re-sign.jar重签名apk后安装失败的解决办法
问题 打开re-sign.jar,将下载好的apk拖入re-sign.jar的界面进行重签名.重签名成功后,通过adb intall命令安装重签名后的apk文件失败.提示:Failure [INSTA ...
- 转 对APK进行重签名
1. 生成Android APK包签名证书1). 在doc中切换到jdk的bin目录cd C:\Program Files\Java\jdk1.6.0_18\bin2). 运 ...
- apk的重签名
1. 生成Android APK包签名证书 1). 在doc中切换到jdk的bin目录 cd C:\Program Files\Java\jdk1.6.0_18\bin 2). ...
- 程序集生成失败 -- 引用的程序集“ThoughtWorks.QRCode”没有强名称,为没有源码的程序集强签名
如果你写的程序程序集是带签名的,应用了没有签名的程序集,编译就会报下面的错误 引用的程序集“**”没有强名称 进入sdk提示符界面,依次输入如下指令 sn -k ThoughtWorks.QRCode ...
随机推荐
- HTML实例之简单的网页布局
需求: <html> <head> <title>简单的表格网页布局</title> <meta charset="UTF-8" ...
- 1058 合唱队形 2004年NOIP全国联赛提高组
1058 合唱队形 2004年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 查看运行结果 题目描述 Descripti ...
- OPENFIRE 接收数据流程图
此图网上已经有,怎奈我不能上传大于10M的图片,所以截图了!各位请脑补!
- powershell 版本问题
Login-AzureRmAccount : 无法将“Login-AzureRmAccount”项识别为 cmdlet.函数.脚本文件或可运行程序的名称.请检查名称的拼写,如果包括路径,请确保路径正确 ...
- ImportError: No module named flask.ext.wtf 解决方法
install pip install flask.ext.wtf
- Cannot fetch index base URL https://pypi.python.org/pypi/ 解决方法
vi /etc/resolv.conf # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) # ...
- iOS开发资源:推送通知相关开源项目--PushSharp、APNS-PHP以及Pyapns等
PushSharp (github) PushSharp是一个实现了由服务器端向移动客户端推送消息的开源C#库,支持 iOS (iPhone/iPad APNS). Android (C2DM/GC ...
- MIPS程序设计实例
第一题:用系统功能调用实现简单输入输出 题目要求 利用系统功能调用从键盘输入,转换后在屏幕上显示,具体要求如下: 1.如果输入的是字母(A~Z,区分大小写)或数字(0~9),则将其转换成对应的英文单词 ...
- PyTorch在NLP任务中使用预训练词向量
在使用pytorch或tensorflow等神经网络框架进行nlp任务的处理时,可以通过对应的Embedding层做词向量的处理,更多的时候,使用预训练好的词向量会带来更优的性能.下面分别介绍使用ge ...
- faster rcnn需要理解的地方
http://blog.csdn.net/terrenceyuu/article/details/76228317 https://www.cnblogs.com/houkai/p/6824455.h ...