eclipse 搭建Robotium环境--apk 环境搭建
1.配置好android sdk ,java环境
2.重新签名apk文件
在用户目录下,会有一个.android的目录,把re-sign.jar放在该目录下。执行命令 java -jar re-sign.jar 即可
再把apk文件脱到打开的re-sign上。保存重新签名后的文件。
注意,弹出的如下需要截图,后面会用到。

也可以用脚本直接操作。bat脚本如下
bat脚本和re-sign.jar再同一个目录下。
@echo off
echo "你的.android目录为:"
echo %USERPROFILE%\.android\
copy /y re-sign.jar %USERPROFILE%\.android\ && java -jar re-sign.jar
pause
3.
创建测试项目 如下图:选择testTarget时选择This project


4.创建项目后,新建junit4测试类

5.导入robotium的jar包

6.编写代码
package m.usewidget.test; import static org.junit.Assert.*; import org.junit.After;
import org.junit.Before;
import org.junit.Test; import com.robotium.solo.Solo; import android.test.ActivityInstrumentationTestCase2; public class testRobotiumTest extends ActivityInstrumentationTestCase2 { private Solo solo;
private static final String LAUNCHER_ACTIVITY_FULL_CLASSNAME="com.www.main.StyrtActivity"; private static Class<?> launcherActivityClass;
static{
try{
launcherActivityClass=Class.forName(LAUNCHER_ACTIVITY_FULL_CLASSNAME);
}catch(ClassNotFoundException e){
throw new RuntimeException(e);
}
} public testRobotiumTest() {
//要执行的activity
super(launcherActivityClass);
// TODO Auto-generated constructor stub
} @Before
public void setUp() throws Exception {
//初始化solo对象
solo=new Solo(getInstrumentation(),getActivity());
} @After
public void tearDown() throws Exception {
solo.finishOpenedActivities();
}
//编写测试用例
@Test
public void test() {
solo.waitForDialogToOpen(); } }
AndroidMainfest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="m.usewidget.test"
android:versionCode="29"
android:versionName="V1.0.29" > <uses-sdk android:targetSdkVersion="22" android:minSdkVersion="19" android:maxSdkVersion="22" /> <instrumentation
android:name="android.test.InstrumentationTestRunner"
android:targetPackage="com.www.tompot" /> <application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<uses-library android:name="android.test.runner" />
</application> </manifest>
7.配置
在eclipse中,新建一个Android Test Project,进行配置,使得自动化脚本与要测试的apk进行关联。
8.运行
1.android 自带的模拟器安装
1) 打开Android SDK安装目录
2) 找到sdk下的platform-tools目录
3) 把重新签名后的apk文件放在该目录下
4) 打开命令提示符:cmd
5) cd /sdk/platform-tools
6) 打开要安装apk的模拟机
7) 运行命令:adb install testedapp.apk。看到Success,说明apk已经安装成功了。
再安装中出现问题:
在将程序发布到手机上时提示该错误:
INSTALL_FAILED_INSUFFICIENT_STORAGE
原因:空间不够用
解决方法:
1. adb shell
2. #df
发现/data下空间不足,原来是安装了太多应用程序导致。
3. 删除一些不需要的程序即可。
第一种办法:在反复安装android apk的时候,有的时候可能会遇到adb install错误,内容是:Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE]
这很可能是因为你在以前uninstall应用的时候,没有做彻底,只是简单的rm /data/app/下面的apk文件了,一个补救的办法如下:
启动模拟器,然后进入菜单
settings->applications->mange
applications-> select the application->select "unistall".
这样就能彻底删除了,然后再重新安装这个apk就没问题了
第二种办法:修改模拟器内存大小
4.新建一个模拟器
2.夜神模拟器运行
启动模拟器
连接模拟器
adb connect 127.0.0.1:62001
adb devices
1) 打开Android SDK安装目录
2) 找到sdk下的platform-tools目录
3) 把重新签名后的apk文件放在该目录下
4) 打开命令提示符:cmd
5) cd /sdk/platform-tools
6) 打开要安装apk的模拟机
7) 运行命令:adb install testedapp.apk。看到Success,说明apk已经安装成功了。
运行测试:
运行时报错:Test run failed: Instrumentation run failed due to 'java.lang.ClassNotFoundException'
原因是:
查看debug-apk包的packageName、versionCode、applicationLabel、launcherActivity、permission等各种详细信息
aapt dump badging <file_path.apk>
使用上面的命令查看:launchable-activity:参数。
并将private static final String LAUNCHER_ACTIVITY_FULL_CLASSNAME =launchable-activity获取的参数。

并将AndroidManifest.xml里面的参数按照debug包显示出来的修改添加
<uses-sdk android:targetSdkVersion="22" android:minSdkVersion="19" android:maxSdkVersion="22" />



android adk更新 mirrors.neusoft.edu.cn:80 代理 多试几次
参考:http://www.cnblogs.com/enjoytesting/p/3622657.html
http://blog.csdn.net/annkie/article/details/8714716
http://www.cnblogs.com/easypass/p/3867211.html
http://blog.sina.com.cn/s/blog_68f262210102vac3.html
eclipse 搭建Robotium环境--apk 环境搭建的更多相关文章
- Ubuntu杂记——Ubuntu下Eclipse搭建Maven、SVN环境
正在实习的公司项目是使用Maven+SVN管理的,所以转到Ubuntu下也要靠自己搭环境,自己动手,丰衣足食.步骤有点简略,但还是能理解的. 一.安装JDK7 打开终端(Ctrl+Alt+T),输入 ...
- eclipse中SSH三大框架环境搭建<三>
相关链接: eclipse中SSH三大框架环境搭建<一> eclipse中SSH三大框架环境搭建<二> 引言:通过上两篇文章我们已经可以掌握struts2和spring的环境的 ...
- eclipse中SSH三大框架环境搭建<二>
通过上一篇博客我们可以轻松搭建strtus2的环境,接下来由我来继续介绍spring的环境搭建以及spring注入的简单使用 相关链接:eclipse中SSH三大k框架环境搭建<一> ec ...
- eclipse中SSH三大框架环境搭建<一>
这里先简单介绍一下我用的三大框架版本以及下载地址 相关链接:eclipse中SSH三大框架环境搭建<二> eclipse中SSH三大框架环境搭建<三> struts-2.3.3 ...
- 基于Eclipse搭建Hadoop源码环境
Hadoop使用ant+ivy组织工程,无法直接导入Eclipse中.本文将介绍如何基于Eclipse搭建Hadoop源码环境. 准备工作 本文使用的操作系统为CentOS.需要的软件版本:hadoo ...
- 【转】Eclipse和PyDev搭建完美Python开发环境(Ubuntu篇)
原文网址:http://www.cnblogs.com/Realh/archive/2010/10/10/1847251.html 前两天在Windows下成功地搭好了一个Python开发环境,这次转 ...
- 搭建Eclipse、Resin Web开发环境
搭建Eclipse.Resin Web开发环境 一.当然是安装java开发环境 参看: Java环境的搭建 http://www.cnblogs.com/ghj1976/archive/2010/04 ...
- Android SDK +Eclipse+ADT+CDT+NDK 开发环境在windows 7下的搭建
Android SDK+Eclipse+ADT+CDT+NDK 开发环境在windows 7下的搭建 这几天一直在研究 Android SDK C/C++平台的搭建,尽管以前有成功在Windows ...
- 使用Eclipse搭建C/C++开发环境(转)
使用Eclipse搭建C/C++开发环境 文章出自:http://www.cnblogs.com/liuxianan/archive/2013/01/15/2861196.html 说明:网上有很多 ...
随机推荐
- git https连接方式,记住密码
Git使用https方式进行连接时,默认每次推送时都要输入用户名和密码. 可以使用命令 $git config credential.helper store 为当前仓库设置记住密码,设置后,只要在推 ...
- Linux学习之停止进程
首先,用ps查看进程,方法如下: ps -ef ……smx 1822 1 0 11:38 ? 00:00:49 gnome-terminalsmx 18 ...
- sersync+inotify实时备份数据
Sersync项目简介与框架 简介 Sersync项目利用inotify与rsync技术实现对服务器数据实时同步的解决方案,其中inotify用于监控sersync所在服务器上文件系统的事件变化,rs ...
- Java中Overload和Override的区别
由于项目正式收工,闲来无事突然发现以前的文档上有一个问题介绍的不是很详细 override(重写,覆盖) 1.方法名.参数.返回值相同. 2.子类方法不能缩小父类方法的访问权限. 3.子类方法 ...
- textarea 在浏览器中固定大小和禁止拖动
HTML 标签 textarea 在大部分浏览器中只要指定行(rows)和列(cols)属性,就可以规定 textarea 的尺寸,大小就不会改变,不过更好的办法是使用 CSS 的 height 和 ...
- github/python/ show me the code 25题(一)
先上网址 https://github.com/Show-Me-the-Code/show-me-the-code 初学python拿来练手,记住一些常用的库和函数 第 0000 题:将你的 QQ 头 ...
- Orchard 源码探索(Module,Theme,Core扩展加载概述)
参考: http://www.orchardch.com/Blog/20120830071458 1. host.Initialize(); private static IOrchardHost H ...
- Centos 升级MySQL版本或者Yum安装Mysql5.6
Centos 升级MySQL版本或者Yum安装Mysql5.6 1.从MySQL Yum仓库下载最新的rpm文件:http://dev.mysql.com/downloads/repo/yum/Cen ...
- [置顶] 阿里IOS面试题之多线程选用NSOperation or GCD
今天早上接到了阿里从杭州打过来的电话面试.虽然近期面试了一些大中型的互联网企业,但是跟素有“IT界的黄浦军校”的阿里面试官接触还是不免紧张. 面试持续了三四十分钟吧,大部分问题都是简历上的项目经验而来 ...
- python-操作exel(xlrd,xlwt)
1.使用第三方库 python中处理excel表格,常用的库有xlrd(读excel)表.xlwt(写excel)表.openpyxl(可读写excel表)等. xlrd读数据较大的excel表时效率 ...