Android聊天抛出异常

Android聊天抛出异常,android,automation,adb,monkeyrunner,Android,Automation,Adb,Monkeyrunner,我正在尝试让chimpchat为Android工作。这是我的课 import java.util.Map; import java.util.TreeMap; import com.android.chimpchat.ChimpChat; import com.android.chimpchat.adb.AdbBackend; import com.android.chimpchat.core.IChimpDevice; import com.android.chimpchat.core.To

我正在尝试让chimpchat为Android工作。这是我的课

import java.util.Map;
import java.util.TreeMap;

import com.android.chimpchat.ChimpChat;
import com.android.chimpchat.adb.AdbBackend;
import com.android.chimpchat.core.IChimpDevice;
import com.android.chimpchat.core.TouchPressType;


public class TapTest {

    public static void main(String[] args)
    {
           Map<String, String> options = new TreeMap<String, String>();
           options.put("backend", "adb");
           options.put("adbLocation", "D:\\Android\\platform-tools\\adb.exe");
           ChimpChat chimpchat = ChimpChat.getInstance(options);
           IChimpDevice device = chimpchat.waitForConnection(5000, ".*");
           device.touch(100, 100, TouchPressType.DOWN_AND_UP);
           chimpchat.shutdown();

    }

}

我添加了Chimpchat.jar、guava.jar、monkeyrunner.jar、sdklib.jar、jython standalone.jar。

为什么不改用uiautomator

我认为uiautomator是检查UI元素的更好工具。它有更强大的方法来识别UI对象并与之交互。您不再需要在脚本中放置sleep命令。只需等待一个特定的元素。您可以等待元素出现或消失

您可以让监视程序在找不到UI对象的情况下运行。这在处理弹出窗口和错误消息时很有帮助


这里有一个到教程的链接

正如错误所说。您还需要添加ddmlib.jar

Exception in thread "main" java.lang.NoClassDefFoundError: com/android/ddmlib/TimeoutException
    at com.android.chimpchat.adb.AdbBackend.waitForConnection(AdbBackend.java:122)
    at com.android.chimpchat.ChimpChat.waitForConnection(ChimpChat.java:91)
    at TapTest.main(TapTest.java:21)
Caused by: java.lang.ClassNotFoundException: com.android.ddmlib.TimeoutException
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 3 more