我一直试图通过java程序执行aapt命令已有一段时间了。我的预感是我应该使用runtime.exec()
命令来实现这一点。但是,我已经查看了其他问题和答案,似乎没有一个对我有用。
命令是:
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 :(得分: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();
}
}
答案 1 :(得分:-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
希望有所帮助。