最近项目要用到DroidBox,遇到了2个问题。网上很多人问,但是没有得到解决。把我解决的过程和大家分享一下:
先前的环境配置可参考:http://blog.csdn.net/u012195899/article/details/52814013
1、运行./droidbox xxx.apk 遇到OSError
例如:
Traceback (most recent call last):
File "scripts/droidbox.py", line 520, in
main(sys.argv)
File "scripts/droidbox.py", line 322, in main
ret = call(['monkeyrunner', 'monkeyrunner.py', apkName, packageName, mainActivity], stderr=PIPE, cwd=os.path.dirname(os.path.realpath(file)))
File "/usr/lib/python2.7/subprocess.py", line 522, in call
return Popen(_popenargs, *_kwargs).wait()
File "/usr/lib/python2.7/subprocess.py", line 710, in init
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1327, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
解决方法:这个是python版本问题,修改droidbox.py 315行:
加上 shell=True,变为如下:
ret = call(['monkeyrunner', 'monkeyrunner.py', apkName, packageName, mainActivity], stderr=PIPE, cwd=os.path.dirname(os.path.realpath(__file__)),shell=True)
2、运行./droidbox xxx.apk 程序停滞不动,出现下面情况
/\ \ __ /\ \/\ _
\ \ /\ \ _ __ ___ /_\ _\ \ \ \L\ \ ___ __ _
\ \ \ \ /`'\ \/\ \ /'_
\ \ _ <' / `/\ /'
\ \ _\ \ \ /\ \L\ \ \ /\ \L\ \ \ \L\ \ \L\ /> </
\ _/\ _\ _/\ _\ ___,\ ____/ ____//_/_
/_/ //// ///, //___/ /__/ ////
Starting the activity com.xxxxxxxxx.xxxx.MainActivity...
解决方案:1、先用adb 安装将要运行的软件
2、然后运行./droidbox <运行软件> <运行时间>
3、在模拟器上启动软件