在java程序中使用android-aapt
很长一段时间以来,我一直试图通过java程序执行aapt命令。我的直觉是我应该使用在java程序中使用android-aapt,java,android,linux,runtime.exec,aapt,Java,Android,Linux,Runtime.exec,Aapt,很长一段时间以来,我一直试图通过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的打包名称和位置。有
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和javaruntime.exec()
正确运行此命令吗?我不知道您是否尝试过以下格式,但以防万一:
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}]
另外,以防您没有浏览本网站:
希望有帮助 老问题,我知道,但试试这个:
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();
}
}
你能分享一些关于它如何错误运行的信息吗?它说它不知道aapt是什么,当我试图将aapt的整个路径放入命令时,它说:无法运行程序,文件/目录不存在字符串firstCommand=“/home/jay/andTools/aapt package-u-f-f'/home/jay/testing_FILES.apk”“/home/jay/testing_FILES”"; 这就是我一直试图输入它的方式。最初,我在没有/home/jay/andTools/part的情况下尝试了这个方法。同一个命令行是否从shell提示符成功?是的,它成功了。我似乎无法通过java自动化这个过程。我以前见过这个,但如何在java程序中运行它?使用java运行时?检查是否使用SDK管理器安装了“Android SDK平台工具”。问题不在于aapt的参数,而在于如何通过java调用aapt(我想是任何Android命令)。