我在script.txt文件中有这个脚本
我像这样运行
monkeyrunner /home/user/script.txt
这是我的script.txt
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice
import time
device = MonkeyRunner.waitForConnection("wait forever","emulator-5554")
package = 'com.pak.pak1'
activity = 'com.pak.pak1.MyActivity'
runComponent = package + '/' + activity
# Runs the component
device.startActivity(component=runComponent)
time.sleep(1)
我想要做的是从java
运行脚本此代码运行shell命令,例如srart脚本
try {
new Thread() {
public void run() {
Process p;
try {
p = Runtime.getRuntime().exec("monkeyrunner /home/user/script.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
br.close();
p.waitFor();
} catch (Exception e) {
//e.printStackTrace();
}
}
}.start();
} catch (Exception ie) {
}
最后mu问题是我如何直接从java运行monkey runner命令,我不想拥有script.txt文件。这可能吗 ?我的目标是运行Monkey runner但我不想拥有script.txt文件
答案 0 :(得分:1)
显然,如果在类路径中包含MonkeyRunner chimpchat.jar(以及它的jar依赖项),那么您可以直接在Java应用程序中调用monkey runner Java类。查看构成示例的this class和this class:
关于此主题的答案 1 :(得分:0)
这看起来非常复杂,但仍然......
monkeyrunner可以交互式运行,因此直接写入stdin(从p.getOutputStream()
获取)你希望它运行的所有字符串。
你可能需要在发出任何命令之前耗尽stdout,但我不认为会是这种情况。