2012-07-16 25 views
0

的Android AAPT我一直在嘗試了一段時間,現在通過Java程序來執行AAPT命令。我的直覺是我應該使用runtime.exec()命令來實現這一點。但是,我已經看過其他問題和答案,似乎沒有人爲我工作。 的命令是:使用Java程序

aapt package -u -f -F "/home/jay/testing_FILES.apk" "/home/jay/testing_FILES" 

其中/home/jay/testing_FILES是原始文件夾和/home/jay/testing_FILES.apk是被包裝的名稱和最終APK的位置。任何人都可以向我解釋我如何使這個命令運行正確使用aapt和java runtime.exec()

+0

你能分享一下它是如何運行的一些不正確的信息? – 2012-07-16 19:31:24

+0

它說,它不知道AAPT是什麼,當我試圖把整個路徑AAPT到命令它說:不能運行程序,文件/目錄不存在 – JJJ1106 2012-07-16 19:36:39

+0

字符串firstCommand =「/家/周杰倫/ andTools/AAPT包-u -f -F '/home/jay/testing_FILES.apk' '/家庭/傑伊/ testing_FILES'「;這是我一直在試圖輸入它。本來我想這不爲/ home /傑伊/ andTools /部分 – JJJ1106 2012-07-16 19:39:21

回答

-1

我不知道你是否已經嘗試下面的格式,但以防萬一:

aapt package -f -M ${manifest.file} -F ${packaged.resource.file} -I ${path.to.android-jar.library} -S ${android-resource-directory} [-m -J ${folder.to.output.the.R.java}] 

而且萬一你沒有看過這個網站:how to build Android application

希望幫助。

+0

我以前見過這個,但是如何在我的java程序中運行這個?使用java運行時?使用SDK Manager – JJJ1106 2012-07-16 19:54:53

+0

檢查是否有「的Android SDK平臺的工具」,我做 – 0gravity 2012-07-16 20:02:45

+0

我檢查裝 – JJJ1106 2012-07-16 20:05:24

2

老問題,我知道,但嘗試了這一點:

String[] cmd = {"aapt", "package", "-u", "-f", "-F", "/"//home//jay//testing_FILES.apk/"", "/"//home//jay//testing_FILES/""}; 

Runtime run = Runtime.getRuntime(); 
Process pr = null; 
try { 
    pr = run.exec(cmd); 
    pr.waitFor(); 
} catch (IOException e) { 
    e.printStackTrace(); 
} catch (InterruptedException e) { 
    e.printStackTrace(); 
} finally { 
    if(pr != null){ 
     close(pr.getOutputStream()); 
     close(pr.getInputStream()); 
     close(pr.getErrorStream()); 
     pr.destroy(); 
    } 
}