???????
????????????????????????MonkeyRunner?????ЩAndroid??????? ??????Pythonд??????? ???????????????java??д?????? ???????MonkeyRunner????javaд??? ?????????ЩAndroid????Api. ????????????????? ?????????????????????????????????Android??api?? ??????????????????????? ????????????????????????????MonkeyRunner????????? ?????????£? ??????????£? ????????????????. ?????????????????????????? ???Android?????Api?????ν??е?????? ????????о????????. ????java ??д????MonkeyRunner??????????MonkeyRunner.jar?? ???????.
????MonkeyRunner??????

????com.android.monkeyrunner.controller ?? com.android.monkeyrunner.recorder ?????MonkeyRunner??UI???棬 ?????java swing??д?? ???沼???????? ??????uiautomatorview??????? Eclipse RCP.
????com.android.monkeyrunner ???2????????????? ??Python????????????????JythonUtils???з?????????????MonkeyRunner.java????Щ????????????в???.
???????????????MonkeyRunner?? MonkeyDevice?? MonkeyView?? MonkeyImage?? ?????????б?д?????????????????????????????????.
???????????IDE?б???MonkeyRunner?????????? ddmlib.jar??guavalib.jar??sdklib.jar??chimpchat.jar??hierarchyviewer2lib.jar ?????jar??????????????????д?????????????????????????MonkeyRunner.jar.
?????????·
??????????MonkeyRunner????????????????д??飬 ???????????????????д??????ò????????? ???????????????????????????????????????.
???????????

???????????
MonkeyRunner
public static MonkeyDevice waitForConnection(PyObject[] args?? String[] kws) {
ArgParser ap = JythonUtils.createArgParser(args?? kws);
Preconditions.checkNotNull(ap);
long timeoutMs;
try {
double timeoutInSecs = JythonUtils.getFloat(ap?? 0);
timeoutMs = (long) (timeoutInSecs * 1000.0);
} catch (PyException e) {
timeoutMs = Long.MAX_VALUE;
}
IChimpDevice device = chimpchat.waitForConnection(timeoutMs??
ap.getString(1?? ".*"));
MonkeyDevice chimpDevice = new MonkeyDevice(device);
return chimpDevice;
}
MteMonkeyRunner
public static MteMonkeyDevice waitForConnection(long timeoutMs?? String deviceId) {
setChimpChat();
IChimpDevice device = chimpchat.waitForConnection(timeoutMs?? deviceId);
MteMonkeyDevice mmd = new MteMonkeyDevice(device);
return mmd;
}
????setChimpChat()????????????????? ????????????MteMonkeyRunner??????MonkeyRunner????????chimpchat????г?????????????????????????????chimpchat???????????? ??ο?????????:
????static void setChimpChat() {
????TreeMap<String?? String> options = new TreeMap<String?? String>();
????options.put("backend"?? "adb");
????chimpchat = ChimpChat.getInstance(options);
????}