如何使用 Monkeyrunner API 制作 Java 应用程序?

2022-09-04 19:25:01

Android SDK有一个API,用于向名为Monkeyrunner的手机发送命令。它似乎是一个Python API。无论如何,我可以在Java应用程序中使用它吗?


答案 1

好吧,我一直在尝试这样做,这是我发现的(感谢谷歌和互联网上成员的一些帮助)

这是一个小的Java程序,它使用monkeyrunner来打印设备的名称

import com.android.monkeyrunner.MonkeyDevice;
import com.android.monkeyrunner.adb.AdbBackend;

public class Monk {

 public static void main(String[] args) {
    // TODO code application logic here
    Monk monk=new Monk();
    monk.demo();
 }
 public void demo()
 {
    AdbBackend ab = new AdbBackend();
    MonkeyDevice device = ab.waitForConnection();
    //Print Device Name       
    System.out.println(device.getProperty("build.model"));
    device.dispose();
 }

}

对于上面的代码太工作,我需要包括以下jars monkeyrunner,ddmlib,jython,guavalib,sdklib。


答案 2

以下是@Harkish的答案的更新,它与我认为是MonkeyRunner的当前版本一起使用:

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

public class MonkeyTest {
    public static void main(String[] args) {
        // sdk/platform-tools has to be in PATH env variable in order to find adb
        IChimpDevice device = new AdbBackend().waitForConnection();

        // Print Device Name
        System.out.println(device.getProperty("build.model"));

        // Take a snapshot and save to out.png
        device.takeSnapshot().writeToFile("out.png", null);

        device.dispose();
    }
}

库依赖项包括:

chimpchat.jar, common.jar, ddmlib.jar, guava-13.0.1.jar, sdklib.jar

它们都可以在 ADT 包的子目录中找到。sdk/tools/lib