【发布时间】:2024-01-07 21:57:01
【问题描述】:
我正在尝试使用 Linux 上的 java 程序将 Java 内置文件管理器的路径传递给 ADB,以便在 android 设备上安装 apk。执行代码时,永远不会安装使用文件管理器选择的 apk。
代码如下:
JFileChooser chooser = new JFileChooser();
FileNameExtensionFilter filter = new FileNameExtensionFilter(
"APK Files", "apk");
chooser.setFileFilter(filter);
int returnVal = chooser.showOpenDialog(getParent());
if(returnVal == JFileChooser.APPROVE_OPTION) {
System.out.println("You choose to open this file: " + chooser.getSelectedFile().getName());
File file = new File("");
System.out.println(file.getAbsolutePath().toString());
try {
Process p1 = Runtime.getRuntime().exec("adb kill-server"); //for killing old adb instance
Process p2 = Runtime.getRuntime().exec("adb start-server");
Process p3 = Runtime.getRuntime().exec("adb install \"" + file.getAbsolutePath() + "\"");
p3.waitFor();
Process p4 = Runtime.getRuntime().exec("adb kill-server");
} catch (Exception e1) {
System.err.println(e1);
}
以下代码应该安装apk:
Process p3 = Runtime.getRuntime().exec("adb install \"" + file.getAbsolutePath() + "\"");
【问题讨论】:
-
你不应该使用
File file = chooser.getSelectedFile() -
你有一个空文件...
File file = new File("");你为什么不使用文件选择器中的那个? -
还是不行@ritesht93
-
还是不行@cricket_007
标签: java android linux adb android-sdk-tools