java - 在java程序中使用android 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 的打包名称和位置。谁能向我解释如何使用 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();
    }
}

关于java - 在java程序中使用android aapt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11511206/

相关文章:

java - Zlib Java 与 C 的基准测试

java.lang.IllegalAccessError : tried to access method net. sourceforge.tess4j.Tesseract.<init>()V 来自类 Tess4jTest.TestTess

linux - 识别 Centos 机器上已安装的软件包

java - Java中隐藏标题栏上的按钮

java - 如何在Java中以混合编码将字节数组编码为字符串?

android - 线性布局中的中心按钮

android - 无法从 IntentService 中的 LocalBroadcastManager 在 Activity 中接收广播

android - 不同layout xml中的id一定不一样吧?

linux - 删除多行 block 的脚本

linux - 使用 Android NDK 构建的 native 可执行文件与使用 gcc-arm for Raspbian(pi-tools)为 Raspberry Pi 构建的本地可执行文件有何不同