`
MyEyeOfJava
  • 浏览: 1157863 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
7af2d6ca-4fe1-3e9a-be85-3f65f7120bd0
测试开发
浏览量:71360
533896eb-dd7b-3cde-b4d3-cc1ce02c1c14
晨记
浏览量:0
社区版块
存档分类
最新评论

[android]MonkeyRunner-andrec实现思路

阅读更多
1.使用Apktool.jar反编译某个APK 命令为:java -jar apktool.jar d -d -f TestRecord.apk /tmp/tmpVpJYTg

2.分析AndroidManifest.xml文件得到APK的mainActivity名

2-3中间会分析smali目录下的R$id.smali文件,获取到APK的包名,并且可以拼到com.example/.TestRecordActivity类似的monkeyrunner所需要的启动包名称,还可以获取到所有的静态在xml中的layout元素id以及name的map关系


3.使用java -jar apktool.jar b -d -f /tmp/tmpVpJYTg /tmp/tmpVpJYTg/out.apk重新打包APK,输出out.apk文件

4.给out.apk重新签名,jarsigner -verbose -keystore debug.keystore -storepass andrec -keypass andrec /tmp/tmpVpJYTg/out.apk andrecdebugkey

5.重新优化APK提高APK与android系统的交互效率/home/eamon/android-sdk/android-sdk-linux_x86/tools/zipalign -v -f 4 /tmp/tmpVpJYTg/out.apk /tmp/tmpVpJYTg/out-aligned.apk,优化后得到out-aligned.apk文件

6.开启debug主activity,使用命令:/home/eamon/android-sdk/android-sdk-linux_x86/platform-tools/adb shell am start -D -W -n com.example/.TestRecordActivity(这里通过分离文件得到文件内相应的方法来获取如何debug某一个方法例如onclick)此命令可以启动某一个activity


6-7之间需要知道的adb jdwp获取手机内TestRecord应用的PID,此时再利用adb shell ps 以及刚刚获取到得APK包名,确认这个PID

7.链接远程debug手机端android虚拟机

connecting debugger...
DEBUG:root:/home/eamon/android-sdk/android-sdk-linux_x86/platform-tools/adb forward tcp:3977 jdwp:632
其中adb forward实现原理为socket通信,虚拟机内debug信息会通信给本机3977端口


下面解析Record是如何制作的:
record的制作是借取了adb shell am 的debug方法,加之jdb的远程调试,见我的android栏中的jdb相关文章

andrec实现中遇到的断点debug中采用的是http://blog.csdn.net/ariesjzj/article/details/7393573文章中的第二种方法来实现的。
分享到:
评论

相关推荐

    MonkeyRunner--从环境构建

    在介绍Android自动化测试工具时,MonkeyRunner是一个不容忽视的工具。它作为Android SDK的一部分,具备强大的功能测试和回归测试能力,并允许测试人员编写脚本来自定义测试扩展,从而在黑盒测试的基础上进一步控制...

    MonkeyRunner-官方Doc.zip

    MonkeyRunner 是一个由Android SDK提供的自动化测试工具,它允许开发者编写脚本来控制Android设备或模拟器,进行功能和UI测试。这个工具对于开发者来说非常实用,因为它可以执行一系列预定义的动作,例如点击屏幕、...

    Android自动化测试之MonkeyRunner--从环境构建、参数讲解、脚本制作到实战技巧

    ### Android自动化测试之MonkeyRunner详解 #### 一、MonkeyRunner简介与应用场景 MonkeyRunner作为一款由Android SDK自带的测试工具,被广泛应用于Android自动化测试领域。它不仅支持基本的功能测试和回归测试,还...

    android-sdk-windows64位.rar

    该sdk包含tools和platform-tools,下载后解压到没有中文路径的地方。JDK8+Android SDK Tools24.4.1+Android SDK Platform-tools29.05+Python3.5能稳定搭建出Monkeyrunner。

    MonkeyRunner的java实现

    MonkeyRunner是Android SDK提供的一种自动化测试工具,它允许开发者通过编写Java代码来创建自定义的测试脚本,对Android设备或模拟器进行图形用户界面(GUI)级别的自动化测试。MonkeyRunner的名字来源于它随机模拟...

    monkeyrunner自动化测试---浅试

    文档内容比较简单易懂,是有关于Android MonkeyRunner自动化测试的简单尝试

    android计算器monkeyrunner测试脚本

    用于测试Android计算器,适合初学monkeyrunner测试脚本编写者

    sdk-6db5720-monkeyrunner 源码

    【标题】"sdk-6db5720-monkeyrunner 源码"涉及的是Android SDK中的MonkeyRunner工具的源代码。MonkeyRunner是一款强大的自动化测试工具,它允许开发者通过编写Python脚本来控制Android设备或模拟器,进行各种自动化...

    android-sdk_r06-linux_86

    10. **测试与性能优化**:SDK还包含了JUnit和MonkeyRunner等工具,用于编写单元测试和进行功能测试。此外,开发者还可以使用Traceview、systrace等工具进行性能分析和优化。 通过下载和安装"android-sdk_r06-linux_...

    Android应用Monkeyrunner测试脚本

    Monkeyrunner是Android SDK提供的一种工具,用于创建自动化测试脚本来操控Android设备或模拟器,它为开发者和测试人员提供了一种高效的方式来进行功能测试。在Android应用开发过程中,Monkeyrunner测试脚本扮演着...

    android usb - dbTest.rar

    标题中的“android usb - dbTest.rar”表明这是一个与Android设备通过USB进行数据交互相关的压缩文件,可能包含了用于测试或调试数据库(db)的工具或代码。由于描述为空,我们主要依据标签“源码”和“工具”,以及...

    android自动化测试monkeyrunner学习

    ### Android自动化测试MonkeyRunner详解 #### 一、MonkeyRunner简介 MonkeyRunner是Android SDK中一个强大的自动化测试工具,它提供了一套API来控制Android设备或模拟器。通过编写Python脚本,用户可以实现诸如...

    monkeyrunner在pydev的集成

    MonkeyRunner工具和Monkey工具都是Android系统提供的用于进行自动化测试的命令行工具,但它们的应用方式和目的存在一定的差异。 首先我们来理解Monkey工具。Monkey是一个命令行工具,它可以运行在Android的模拟器...

    android-sdk_r23.0.2-windows.zip

    **测试和调试**:Android SDK提供了丰富的测试和调试工具,如JUnit测试框架、MonkeyRunner自动化测试工具,以及上面提到的DDMS,它们对于优化应用性能和查找并修复bug至关重要。 总结来说,"android-sdk_r23.0.2-...

    一步一步使用Monkeyrunner实现Android的自动化测试.docx

    ### 使用Monkeyrunner实现Android自动化测试详解 #### 一、Monkey与Monkeyrunner的区分及应用场景 在探讨如何使用Monkeyrunner进行Android自动化测试之前,先来理解一下Monkey与Monkeyrunner之间的区别及其各自的...

    monkeyrunner

    - `monkeyrunner`:是一个基于Jython(Python的Java实现)的工具,它允许编写Python脚本来自动化Android设备或模拟器的测试。 - `MonkeyDevice`:是monkeyrunner API中的核心类,它代表一个连接的设备或模拟器,...

    安卓MonkeyRunner自动化测试Lowen.zip

    lowen 基于monkeyrunner的android应用的自动化测试,并输出测试结果到html的框架 仿腾讯utest测试框架 代码有待完善,欢迎有兴趣的朋友一起讨论(目前报表里面使用echarts部分没有写数据处理逻辑,框架已搭好) ...

Global site tag (gtag.js) - Google Analytics