在java程序中使用android aapt

时间:2012-07-16 19:30:12

标签: 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的打包名称和位置。任何人都可以向我解释如何使用aapt和java runtime.exec()正确运行此命令吗?

2 个答案:

答案 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

希望有所帮助。