一、获取packageName与startActivity
前置条件:已成功安装配置SL4A并连接PC调试(参见:monkeyrunner学习总结一:环境搭建:http://www.amsoft.cn/post-289.html

有源码的话,可以从源文件的AndroidManifest.xml中获得。

没源码的话,按以下操作执行:

1、在cmd中输入命令:"python" 回车,继续输入以下命令:

2、获取packageName:

1 import android

2 import pprint

3 droid=android.Android()

4 pacs=droid.getRunningPackages()

5 pprint.pprint(pacs.result)

获取packageName列表,找出与Apk对应的packageName即可。

3、获取startActivity:

1 import android

2 import pprint

3 droid=android.Android()

4 apps=droid.getLaunchableApplications()

5 pprint.pprint(apps.result)

获取到startActivity列表,找出与之对应的即可。

补:另一获取packageName与startActivity的方法
使用aapt   //aapt是sdk自带的一个工具,在sdk\builds-tools\目录下
1.以ES文件浏览器为例,命令行中切换到aapt.exe目录执行:aapt dump badging E:\apk\es3.apk
2.运行后的结果中以下两行分别是应用包名package和入口activity名称
package: name=’com.estrongs.android.pop’
launchable-activity: name=’com.estrongs.android.pop.view.FileExplorerActivity’
注:在android sdk目录搜索可以找到aapt.exe,如果没有可以下载apktool。

二、monkeyrunner与模拟器的连接

1、用Elipse打开andorid的模拟器或者在cmd中定位到android SDK的路径下的tools目录,用andorid命令打开模拟器,如下:

D:\Software\Android SDK2.3\android-sdk-windows\tools>emulator -avd AVD2.3.3

“AVD2.3.3”是实际模拟器的名字

2、再打开一个cmd窗口(前一个不要关闭),定位到android SDK的路径下的tools目录,输入命令"monkeyrunner",回车,进入shell命令交互模式

3、引入monkeyrunner所要使用的模块:

from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice  回车

4、monkeyrunner与模拟器连接:

device = MonkeyRunner.waitForConnection()

三、monkeyrunner与测试机的连接

1、获取连接设备的名称

在cmd中运行adb devices获取连接设备的名称:

C:\Documents and Settings\Administrator>adb devices

* daemon not running. starting it now on port 5037 *

* daemon started successfully *

List of devices attached

emulator-5554 device

HT23LV804061 device

2、启动Monkeyrunner

在cmd中定位到android SDK的路径下的tools目录,输入命令:"monkeyrunner" 回车

3、引入monkeyrunner需要的两个模块

from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice 回车

4、把设备和monkeyrunner绑定,绑定后在monkeyrunner的操作等同于在设备的操作

device=MonkeyRunner.waitForConnection(5,'手机名') #手机名为‘HT23LV804061’

四、安装apk
1、启动monkeyrunner
在cmd中定位到android SDK的路径下的tools目录,输入命令:"monkeyrunner" 回车
2、安装apk
device.installPackage(“xxx.apk”)
 
五、启动apk
1、启动monkeyrunner
在cmd中定位到android SDK的路径下的tools目录,输入命令:"monkeyrunner" 回车
2、启动apk
device.startActivity(packageName/startActivity)
 
六、其它
cmd下python的退出:exit();monkeyrunner的退出:ctrl+d

【转】monkeyrunner学习总结二:连接、安装、启动的更多相关文章

  1. Docker学习总结(二)--Docker安装与启动

    注:笔者使用的环境为 CentOS 7.6,如果版本不一致可能会出现一些错误. 安装 Docker 1)将 yum 包更新到最新版本 sudo yum update 2) 安装需要的软件包 sudo ...

  2. J2EE SSH学习(二)安装Eclipse插件和第一个Eclipse项目

    (一)安装Eclipse插件 Eclipse有很多功能很强大的插件,我现在作为一个菜鸟只知道插件的功能通常都很牛叉实用或者很有趣,那么该怎么安装Eclipse插件呢? 我使用的是Eclipse 4.3 ...

  3. Kafka学习之二 Kafka安装和使用

    部署环境Linux(Centos 6.5),JDK 1.8.0,zookeeper-3.4.12,kafka_2.11-2.0.0. 1. 单机环境     官方建议使用JDK 1.8版本,因此本文使 ...

  4. Snmp学习总结(二)——WinXP安装和配置SNMP

    一.安装SNMP 今天讲解一下在XP下安装SNMP协议,安装步骤如下:

  5. whistle学习(二)之启动、停止、重启、更新whistle等命令

    新版本的whistle支持三种等价命令whistle,w2,wproxy 启动whistle w2 start 启动时指定端口 w2 start -p (// 不设置端口默认使用8899) 默认端口为 ...

  6. qt学习(二):启动画面

    打开一个软件,都会有启动画面. 现在去体验如何实现启动画面:输入图,装载,延时,下一张主部件图 在main.Cpp中实现启动时桌面图片. #include <QtGui/QApplication ...

  7. 搭建Linux-java web运行环境之二:安装mysql

    环境 OS:Red Hat Enterprise Linux Server release 7.3 (Maipo) JDK:jdk-7u80-linux-x64.tar.gz Tomcat:apach ...

  8. 学习ActiveMQ(一):安装与启动

    一:简单介绍 AvtiveMQ是Apaceh所研发的一个开源消息中间件,用来在服务与服务之间进行异步通信,是基于JMS规范的.activemq包含发送者(sender).消息(message).队列( ...

  9. MongoDB之二基础入门(安装启动)

    mongodb中有三元素:数据库,集合,文档,其中“集合” 就是对应关系数据库中的“表”,“文档”对应“行”. 一. 下载 上MongoDB官网 ,我们发现有32bit和64bit,这个就要看你系统了 ...

随机推荐

  1. 命令cp

    cp 源 目标cp -r  递归复制整个目录cp -v  显示复制的详细信息

  2. Eclipse Class Decompiler影响class默认打开方式,重新设置Eclipse默认源码打开方式

    安装Eclipse Class Decompiler插件后,Eclipse中的默认源码打开方式被修改为Eclipse Class Decompiler 这不是我喜欢的,因为我希望,源码从网络中获取,当 ...

  3. tRNAscan-SE

    tRNAscan-SE是一款可以在基因组上扫描tRNA的序列,也就是说你给定一组基因序列(fasta数据格式),可以用这个软件去预测这个序列是不是tRNA.具体的实现原理,我不搞生物,所以也就不太明白 ...

  4. HDU-4604 Deque DP

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4604 因为deque最后的数列是单调不降的,因此,我们可以枚举数列中的某个中间数Ai,如果从中间数Ai ...

  5. 基于memcached的单机轻量级通用缓存库minicached的实现

    一.前言 之前拜读过淘宝子柳的<淘宝技术这十年>之大作,深知缓存技术在系统优化中起着一个举足轻重的作用.无论是文件系统静态文件,数据库的访问,乃至网络数据的请求,只要是与内存访问速度相差较 ...

  6. 100+经典Java面试题及答案解析

    面向对象编程(OOP) Java是一个支持并发.基于类和面向对象的计算机编程语言.下面列出了面向对象软件开发的优点: 代码开发模块化,更易维护和修改. 代码复用. 增强代码的可靠性和灵活性. 增加代码 ...

  7. 我用的Linux命令

    从今天起,会在这里记一些我使用过的linux命令 =======I'm 分割线======= 11.查看某个端口号被哪个应用占用 netstat -apn|grep 端口号,lsof -i:端口号,n ...

  8. Java正则表达式测试用例

    (1)对IP地址进行排序: public static void test_1() { String ip_str = "192.168.10.34 127.0.0.1 3.3.3.3 10 ...

  9. 转载 DNS查询流程简介

    转载请注明出处:http://blog.csdn.net/luotuo44/article/details/45545059 DNS(domain name system),读者们或多或少都听过,就是 ...

  10. 射频识别技术漫谈(2)——国际标准【worldsing 笔记】

    如果你只是智能卡的用户,通常可以不必关注国际标准,但作为智能卡的专业开发人员,则至少也要对相关标准有所了解.国际标准一般都是西方人制定的,原版都是英文的,而所谓中文版往往是对原版的直译,许多情况下并未 ...