Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java程序中使用android-aapt_Java_Android_Linux_Runtime.exec_Aapt - Fatal编程技术网

在java程序中使用android-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的打包名称和位置。有

很长一段时间以来,我一直试图通过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()
正确运行此命令吗?

我不知道您是否尝试过以下格式,但以防万一:

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命令)。