一、获取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. NOIP2006 作业调度方案

    1.             作业调度方案 (jsp.pas/c/cpp) [问题描述] 我们现在要利用m台机器加工n个工件,每个工件都有m道工序,每道工序都在不同的指定的机器上完成.每个工件的每道工 ...

  2. Android 数据存储相关

    Application使用总结:http://www.tuicool.com/articles/JVBja2 枚举 Map<>

  3. UMA - Unity Multipurpose Avatar

    UMA - Unity Multipurpose Avatar UMA version 1.0.1.0R Unity 4.3 What is UMA? UMA - Unity Multipurpose ...

  4. 【转】linux trap

    在有些情况下,我们不希望自己的shell脚本在运行时刻被中断,比如说我们写得shell脚 本设为某一用户的默认shell,使这一用户进入系统后只能作某一项工作,如数据库备份, 我 们可不希望用户使用c ...

  5. 浅谈iOS中MVVM的架构设计与团队协作

    说到架构设计和团队协作,这个对App的开发还是比较重要的.即使作为一个专业的搬砖者,前提是你这砖搬完放在哪?不只是Code有框架,其他的东西都是有框架的,比如桥梁等等神马的~在这儿就不往外扯了.一个好 ...

  6. Linq使用之标准运算符方法

    #region linq的标准查询运算符(即lambda方式) 注:C#不支持标准查询运算符中带有整形参数(索引)的重载 // 1.标准查询运算符之筛选方法——where            //I ...

  7. OC/Swift第三方添加出错解决方法

    (未经同意,不得转载!) ------------------------华丽分割线-----------------------

  8. linux快速入门 1.1命令行操作

    http://lovesoo.org/linux-command-line-operation.html 1.1命令行操作 目录: <wp_nokeywordlink>Shell简介 &l ...

  9. Android v4 包和v7包问题

    昨天新建了一个android项目,加入了一个bootstrap的外部依赖和一个底部导航栏的外部依赖.结果jj 了,老是提醒我v4包v7包冲突: 事实是这样的,首先我的底部导航依赖库里面有一个v4包,那 ...

  10. hbase运维

    NoSQL现在风生水起,hbase的使用也越来越广,但目前几乎所有的NoSQL产品在运维上都没法和DB相提并论,在这篇blog中来总结下我们在运维hbase时的一些问题以及解决的方法,也希望得到更多h ...