java - aapt 使用 Runtime.exec()

标签 java android linux runtime.exec aapt

我想使用 Java 运行时运行 aapt。我的代码如下:

String srcFile = "/home/jay/testing_FILES.apk";
String dsFile = "/home/jay/testing_FILES";
String firstCommand =  ("/home/jay/android-sdk-linux/platform-tools/aapt " +
    "package -u -f -F" + srcFile + dsFile);
try {
  Runtime rt = Runtime.getRuntime();
  Runtime.getRuntime().exec(firstCommand);
} catch (IOException e1) {
  e1.printStackTrace();
}

这段代码没有给我错误,但也没有给我任何结果。关于如何解决这个问题有什么想法吗?此外,这意味着是可移植代码,因此如果有一种方法可以在不编写脚本的情况下完成它,那将是首选。

最佳答案

您试图将参数放在与命令相同的字符串中;这在这里不起作用,因为没有 shell 可以解析它们。

您可能想尝试 exec() 的形式,它采用包含命令及其参数的字符串数组。

关于java - aapt 使用 Runtime.exec(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11527426/

相关文章:

java - Android 数据库连接

linux - 服务器端口状态检查监控配置

android -/proc/pid/maps是什么意思?

java - Tomcat错误信息 : java. lang.ClassNotFoundException : listeners. ContextListener/SessionListener/websocket.drawboard.DrawboardContextListener

java - android 计时器处理程序 java

java - 如何通过catalina.out查找tomcat自动关机原因

appcompat 更新后 Android 应用程序兼容性在 Play 商店损坏

c - 如果禁用 ASLR,mmap 是否具有确定性?

java - servlet request.getParameter 无法解析

java - 为什么在编辑 JTable 单元格时按转义键时不调用 cancelCellEditing()?