0

很长一段时间以来,我一直在尝试通过 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()

4

2 回答 2

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();
    }
}
于 2013-02-20T05:19:11.353 回答
-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

希望有帮助。

于 2012-07-16T19:53:16.777 回答