Я прыгаю, чтобы дать еще один обновленный ответ. Это то, что также посоветовал разработчик Google. Я думаю, что это более надежная реализация и использует больше отказоустойчивых методов.
import java.util.Map;
import java.util.TreeMap;
import com.android.chimpchat.ChimpChat;
import com.android.chimpchat.core.IChimpDevice;
public class MonkeyRunnerTest {
private static final String ADB = "/path-to-your-sdk/sdk/platform-tools/adb";
private static final long TIMEOUT = 5000;
/**
* @param args
*/
public static void main(String[] args) {
Map<String, String> options = new TreeMap<String, String>();
options.put("backend", "adb");
//this is so you don't need to add adb or platform-tools to your system path
options.put("adbLocation", ADB);
ChimpChat chimpchat = ChimpChat.getInstance(options);
//Using this method is advised as to avoid hangs,as this would wait indefinitely
//Actually waitForConnection() doesn't wait indefinitely but for Integer.MAX_VALUE milliseconds, which still makes up for 596 hours
IChimpDevice device = chimpchat.waitForConnection(TIMEOUT, ".*");
chimpchat.shutdown();
}
}
Вы можете просмотреть все свойства устройств с помощью:
for (String prop: device.getPropertyList()) {
System.out.println(prop + ": " + device.getProperty(prop));
}
Для получения информации об API вы можете посмотреть документы здесь: классы API Monkey Runner