在java中以编程方式执行adb install命令
我正在尝试从Java应用程序将android应用程序安装到设备中 使用以下命令- Runtime.getRuntime().exec(“adb install/apps/testapp.apk”) 我面临以下错误- 无法运行程序“adb”:错误=2,没有这样的文件或目录 是否必须使用ProcessBuilder来启动命令执行?我认为问题可能是在java中以编程方式执行adb install命令,java,android,command,adb,Java,Android,Command,Adb,我正在尝试从Java应用程序将android应用程序安装到设备中 使用以下命令- Runtime.getRuntime().exec(“adb install/apps/testapp.apk”) 我面临以下错误- 无法运行程序“adb”:错误=2,没有这样的文件或目录 是否必须使用ProcessBuilder来启动命令执行?我认为问题可能是 adb未设置环境变量。您可以尝试使用完整路径 apk的路径应该相对于java项目类路径或完整路径 使用绝对文件路径,如果已经安装,则使用-r选项重新安装应
adb
未设置环境变量。您可以尝试使用完整路径使用绝对文件路径,如果已经安装,则使用-r选项重新安装应用程序:
Runtime.getRuntime().exec(“adb安装-r\u此处\u绝对文件路径”代码>
如果您将等待执行:
String[] commands = new String[3];
commands[0] = "adb";
commands[1] = "install";
commands[2] = "-r";//reinstall if already installed
commands[3] = ___HERE_AbsoluteFilePath___;
Process p1 = Runtime.getRuntime().exec(commands, null);
p1.waitFor();
字符串[]命令=新字符串[3]
命令[0]=“adb”
命令[1]=“安装”
命令[2]=“-r”//如果已安装,请重新安装命令[3]=\uuuuuuu此处\u绝对文件路径\uuuuuuuuu
进程p1=Runtime.getRuntime().exec(命令,null)
p1.waitFor();
PS:如果无法在控制台窗口或终端中运行adb,请使用adb的绝对文件路径或包含环境变量的路径。我怀疑这是路径问题;您是否尝试过使用adb的完整路径,即Runtime.getRuntime().exec(“/path/to/androidsdk/tools/adb install/apps/testapp.apk”)代码>?无需在exec()
中使用adb
参数。我们可以找到一个解释。改用pm安装app.apk
。尽管以编程方式执行命令不是一项简单的任务。您可能需要先抓取su
。