一、使用方法(需要python环境)
1、把server.py文件放于d:\\盘根目录。
2、下载android-sdk-windows,并确保tools文件夹下有monkeyrunner.bat文件。
3、把android-sdk-windows下的tools文件夹加入系统环境变量。
4、启动安卓设备,并使用adb连接好。
5、运行ui.py,点击按钮测试吧!
---------不懂或者需要资源请留言,谢谢-----------
---------------以上文件内容如下---------------------------
#server.py
import time;
import sys
from com.android.monkeyrunner import MonkeyRunner as mr
from com.android.monkeyrunner import MonkeyDevice as md
from com.android.monkeyrunner import MonkeyImage as mi
device = mr.waitForConnection(1.0,'emulator-5554')
if not device:
print >> sys.stderr,"fail found devices"
sys.exit(1);
print "found devices:%s" % (device);
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.bind(("", 8081))
print "start listening..."
while True:
data, addr = s.recvfrom(1024);
print "%s:%s" % (addr,data);
(type,key) = data.split(':');
if int(type) == 0:
device.press(key);
elif int(type) == 1:
device.type(key);
print data;
#device.type('asd')
#device.press('KEYCODE_ENTER')
#result = device.takeSnapshot()
#result.writeToFile('takeSnapshot\\result1.png','png');
#ui.py
import Tkinter as tk;
import thread;
import time;
#------------------------------------------------------------
def init(lock):
import os;
print "init"
#os.popen('monkeyrunner d:\server.py');
os.system("monkeyrunner d:\server.py");
lock.release();
lock = thread.allocate_lock();
lock.acquire();
thread.start_new(init,(lock,));
time.sleep(8);
#------------------------------------------------------------
def pressPower():
runcmd(0,"KEYCODE_POWER");
def pressHome():
runcmd(0,"KEYCODE_HOME");
def preeBack():
runcmd(0,"KEYCODE_BACK");
def pressEnter():
runcmd(0,"KEYCODE_ENTER");
def pressMenu():
runcmd(0,"KEYCODE_MENU");
def pressVolUp():
runcmd(0,"KEYCODE_VOLUME_UP");
def pressVolDown():
runcmd(0,"KEYCODE_VOLUME_DOWN");
def pressDown():
runcmd(0,"KEYCODE_DPAD_DOWN");
def pressUp():
runcmd(0,"KEYCODE_DPAD_UP");
def pressLeft():
runcmd(0,"KEYCODE_DPAD_LEFT");
def pressRight():
runcmd(0,"KEYCODE_DPAD_RIGHT");
#------------------------------------------------------------
def runcmd(type, key):
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
port = 8081
host = "127.0.0.1"
s.sendto("%d:%s" % (type,key), (host, port));
#------------------------------------------------------------
top=tk.Tk();
btn_power = tk.Button(top, text='Power', command=pressPower);
btn_power.pack();
btn_home = tk.Button(top, text='Home', command=pressHome);
btn_home.pack();
btn_enter = tk.Button(top, text='Enter', command=pressEnter);
btn_enter.pack();
btn_back = tk.Button(top, text='Back', command=preeBack);
btn_back.pack();
btn_menu = tk.Button(top, text='Menu', command=pressMenu);
btn_menu.pack();
btn_up = tk.Button(top, text='Up', command=pressUp);
btn_up.pack();
btn_down = tk.Button(top, text='Down', command=pressDown);
btn_down.pack();
btn_left = tk.Button(top, text='Left', command=pressLeft);
btn_left.pack();
btn_right = tk.Button(top, text='Right', command=pressRight);
btn_right.pack();
btn_volup = tk.Button(top, text='VOL+', command=pressVolUp);
btn_volup.pack();
btn_voldown = tk.Button(top, text='VOL-', command=pressVolDown);
btn_voldown.pack();
tk.mainloop();