在java程序中使用android 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是原始文件夹,而/home/jay/testing_FILES.apk是最终apk的打包名称和位置。 任何人都可以向我解释如何使用aapt和java runtime.exec()正确运行此命令?

老问题,我知道,但试试这个:

 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 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}] 

另外,万一你没有看过这个网站: 如何构建Android应用程序

希望有所帮助。