ERROR: input directory 'Files' does not exist

ERROR: input directory 'Files' does not exist

需要使用命令行从资源构建 R.java 文件。我使用以下 Java 程序执行此操作。我得到

ERROR: input directory 'Files' does not exist

这是我的代码,任何人都可以帮助缺少哪个文件目录。或者为什么会弹出这个错误。

public static String ProjectPath = "C:\Users\Muzammil-Husnain\testing\Soothing-snow-fall";
public static String ANDROID_HOME = "C:\\"Program Files (x86)\"\Android\android-sdk";

public static void generateRfile() {
    try {
        File projectDirectoryFile = new File(ProjectPath);
        String command = "aapt package -v -f -m "+
        " -S \""+projectDirectoryFile.getCanonicalPath()+"\res\"" +
        " -J \""+projectDirectoryFile.getCanonicalPath()+"\gen\"" +
        " -M \""+projectDirectoryFile.getCanonicalPath()+"\AndroidManifest.xml\"" +
        " -I C:\\"Program Files (x86)\"\Android\android-sdk\platforms\android-21\android.jar\"";
        System.out.println("Directory Path : "+projectDirectoryFile.getCanonicalPath());
        System.out.println(command);
        ProcessBuilder processBuilder = new ProcessBuilder("cmd.exe", "/c", command);
        processBuilder.redirectErrorStream(true);
        Process process = processBuilder.start();
        BufferedReader r = new BufferedReader(new InputStreamReader(process.getInputStream()));
        String line;
        while (true) {
            line = r.readLine();
            if (line == null) {
                break;
            }
            System.out.println(line);
        }

    } catch (IOException ex) {
        Logger.getLogger(RunApplicationOnPrject.class.getName()).log(Level.SEVERE, null, ex);
    }
}

我认为当目录名称中有 SPACE 时,您需要使用引号 ""。批处理文件假定 Files 作为 Program Files 中的下一个参数。

你的错误是因为

public static String ANDROID_HOME = "C:/Program Files (x86)/Android/android-sdk";

此处 space 出现在 Program Files (x86)

你可以查看accessing file having space in path

我发现错误

" -I C:\\"Program Files (x86)\"\Android\android-sdk\platforms\android-21\android.jar\"";

此行缺少 URL 的起始引号,但它包含结尾引号我修复了错误 通过包括这样的引用:

" -I \"C:\\"Program Files (x86)\"\Android\android-sdk\platforms\android-21\android.jar\""

感谢@Prashant 和@Laszlo Lugosi 的关注。

我遇到了同样的错误,但使用了 apktool。消息指出,"ERROR: input directory 'ini' does not exist"。没有任何帮助,但我突然发现 apk_dir/apktool.yml 文件中的下一行:

doNotCompress:
- js
- ''
- ini
- dat
- cfg
- xml

删除这些行后错误消失了。

UPD:仅删除带引号的行 - '' 解决了问题