引言:关于monkey,我们大概会从这么一条指令入手,adb shell monkey -p com.xiaoniu.finance -s 123 --throttle 500 --ignore-crashes --ignore-timeouts --ignore-security-exceptions -v -v -v 2000 > d:\xnonline-monkey-test1.txt
第一步:先学会monkey代码重新编译 ,再去改造源码
1:下载android源码 https://blog.csdn.net/MonaLisaTearr/article/details/79768758
源码的分支有很多 如下:https://android.googlesource.com/platform/manifest/+refs
这里需要一段时间
遇到的问题1:error: Error: could not find jdk tools.jar at /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/../lib/tools.jar, please check if your JDK was installed correctly.
最佳答案
Android需要一个名为ANDROID_JAVA_HOME的分隔符env系统变量,
所以设置env:export ANDROID_JAVA_HOME =“你的java home”,解决了我的问题
遇到的问题2:https://stackoverflow.com/questions/8341375/move-android-source-into-case-sensitive-image参考上面这篇文章,重点要说一下
解决办法三步走:
1):建立新的HFSX格式的dmg镜像 (hdiutil attach ~/android.dmg.sparseimage -mountpoint /Volumes/android 可能生成的是android.dmg.sparseimage,那下一步就用这个进行挂载)
2):挂载这个android.dmg镜像到/Volumes/android 这个挂载好了其实就是类似于一个移动硬盘
3):将android源代码放到这个镜像上进行编译
终于到make monkey这一步了 ,下面遇到了哪些坑?
1、FAILED: setup-jack-server
Jack server installation not found
到prebuilts/sdk/tools 目录下执行一下这个命令:./jack-admin install-server jack-launcher.jar jack-server-4.11.ALPHA.jar
jack-launcher.jar,jack-server-4.11.ALPHA.jar这两个文件的名字视 prebuilts/sdk/tools 目录下的文件名而定。
2、Unsupported curl, please use a curl not based on SecureTransport
安装curl
brew install curl --with-openssl
exportPATH=$(brew --prefixcurl)/bin:$PATH
3:https://blog.csdn.net/suningning/article/details/77552962
Out of memory error (version 1.3-rc6 'Douarn' (441800 22a11d4b264ae70e366aed3025ef47362d1522bb by android-jack-team@google.com)).GC overhead limit exceeded.
也是按照blog里面的方法一一解决了。
成功后的界面如图:
编译成功后,可在/out/target/product/generic/system/framework/中获取Monkey.jar包。
目前已获取jar包,耗时3天:2天下载源码 1天make monkey
注:vim编辑的指令 android源码切分支 linux系统指令 仍需熟悉
========接下来要在手机上运行这个jar包========
1:root权限到底是否需要获取
我原来拉的android分支是8.0.0,刚好是我手机系统的版本,但是一键root上并不能root这个手机
adb push monkey.jar /sdcard/
adb shell
cd sdcard
app_process monkey.jar com.android.debug.monkey.Monkey
执行后一直报错Aborted,可以参考mac上调试adb的相关资料
2:如果必须要root权限,那就只能找一个可以root的手机调试,并把安卓源码的分支切到5.1.1上
参考源码切分支的方法