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的更多相关文章

  1. 为没有源码的DLL文件添加强名称

    为没有源码的DLL文件添加强名称 如果项目中引用了其他没有源码的dll文件,并且此dll文件是没有强名称的程序集,则编译时会出现类似 "Assembly generation failed ...

  2. Eclipse中查看没有源码的Class文件的方法

    本文地址:http://blog.csdn.net/sushengmiyan/article/details/18798473 本文作者:sushengmiyan 我们在使用Eclipse的时候,经常 ...

  3. mac下自己实现re-sign.jar对apk进行重签名

    利用Robotinum对给的apk文件进行自动化测试,在不知道源码的情况下,只有apk文件如何进行自动化测试呢? 首先需要对apk文件进行重签名,并获得该apk文件的包名和程序入口的类名. 最开始网上 ...

  4. 使用re-sign.jar对apk进行重签名

    准备: ① re-sign.jar重签名工具:(下载地址为:http://troido.de/downloads/category/1): ② 待重签名的apk:      重签名步骤: ① 右键re ...

  5. 5.eclipse 自带的jdk没有源码,改了它

    其实JDK源码在安装的时候已经放在了jdk所在的目录下,只是eclipse使用 了不带有源码的jre,导致没找到对应的源码,点击 Window->Perference->Java-> ...

  6. 用re-sign.jar重签名apk后安装失败的解决办法

    问题 打开re-sign.jar,将下载好的apk拖入re-sign.jar的界面进行重签名.重签名成功后,通过adb intall命令安装重签名后的apk文件失败.提示:Failure [INSTA ...

  7. 转 对APK进行重签名

    1.      生成Android APK包签名证书1).     在doc中切换到jdk的bin目录cd C:\Program Files\Java\jdk1.6.0_18\bin2).     运 ...

  8. apk的重签名

    1.      生成Android APK包签名证书 1).     在doc中切换到jdk的bin目录 cd C:\Program Files\Java\jdk1.6.0_18\bin 2).    ...

  9. 程序集生成失败 -- 引用的程序集“ThoughtWorks.QRCode”没有强名称,为没有源码的程序集强签名

    如果你写的程序程序集是带签名的,应用了没有签名的程序集,编译就会报下面的错误 引用的程序集“**”没有强名称 进入sdk提示符界面,依次输入如下指令 sn -k ThoughtWorks.QRCode ...

随机推荐

  1. 洛谷P1896||bzoj1087 [SCOI2005]互不侵犯

    bzoj1087 洛谷P1896 想了很久,太久没做状压都已经不会了... 状压每一行就好了 #include<cstdio> #include<algorithm> #inc ...

  2. Promise.then(a, b)与Promise.then(a).catch(b)问题详解

    原文: When is .then(success, fail) considered an antipattern for promises? 问题 我在bluebrid promise FAQ上面 ...

  3. 093 Restore IP Addresses 复原IP地址

    给定一个只包含数字的字符串,复原它并返回所有可能的IP地址格式.例如:给定 "25525511135",返回 ["255.255.11.135", " ...

  4. [在读] javascript权威指南第六版

    耽搁了有大半年没看,记得当时看到5分之2了吧.权威指南是不管读几遍都能觉得有新收获的书^^

  5. 使用SSL配置Nginx反向代理的简单指南

    反向代理是一个服务器,它接收通过Web发出的请求,即http和https,然后将它们发送到后端服务器(或服务器).后端服务器可以是单个或一组应用服务器,如Tomcat,wildfly或Jenkins等 ...

  6. springmvc写了方法无法访问

    1.检查是否添加了@controller注解 2.在springmvc.xml里添加controller注解扫描 3.在applicationContext.xml里添加service扫描,给mapp ...

  7. Sql Server的两个小技巧

    创建表结构 CREATE TABLE test( ,) NOT NULL PRIMARY KEY, ) COLLATE Chinese_PRC_CI_AS NULL, createdTime DATE ...

  8. 从零开始利用vue-cli搭建简单音乐网站(六)

    上一篇遗漏了一个简单的效果没写,见下图: 主页面点击热门推荐和更多之后跳转到歌曲列表页面,现在的页面只是简单的把所有歌曲列出来,没有进行排序.实现起来也很简单,在MainPage的两个链接上添加: & ...

  9. Mysql常用的优化技巧

    1.通过show status 命令了解各种sql的执行效率 2. 定位执行效率较低的SQL语句 开启慢查询记录: 打开Mysql配置文件my.ini ,找到 [mysqld] 在其下面添加 long ...

  10. siege4压测脚本示例

    agent="Siege 1.0"rcconfig="/opt/siege4.0/etc/siegerc"concurrent=$1repet=$2url=&q ...