我想從Java的內置文件管理器傳遞一個路徑到Java與Linux上的Java程序安裝在Android設備上安裝apk。當代碼執行時,使用文件管理器選擇的apk永遠不會被安裝。在Linux上通過ADB與Java程序在Android設備上安裝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() + "\"");
你不應該使用'文件文件= chooser.getSelectedFile()' – ritesht93
你有一個空文件...'文件文件=新文件(「」);'爲什麼你不使用文件選擇器中的那個? –
它還沒有工作@ ritesht93 –