需要使用命令行从资源构建R.java文件。我使用以下Java程序执行此操作。
错误:输入目录“文件”不存在
这是我的代码可以任何人帮助哪个文件目录丢失。或者为什么会弹出这个错误。
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);
}
}
答案 0 :(得分:4)
我找到了错误
" -I C:\\\"Program Files (x86)\"\\Android\\android-sdk\\platforms\\android-21\\android.jar\"";
此行缺少URL的起始引用,而它包含结束quoteI修复错误 通过包括这样的引用:
" -I \"C:\\\"Program Files (x86)\"\\Android\\android-sdk\\platforms\\android-21\\android.jar\""
感谢@Prashant和@Laszlo Lugosi的关注。
答案 1 :(得分:2)
我认为当目录名称中有SPACE时,您需要使用引号“”。批处理文件假定文件为程序文件中的下一个参数。
答案 2 :(得分:2)
你的错误是因为
public static String ANDROID_HOME = "C:/Program Files (x86)/Android/android-sdk";
此处Program Files (x86)
中存在空格。
答案 3 :(得分:0)
我有同样的错误,但有apktool。消息指出,“错误:输入目录'ini'不存在”。什么都没有帮助,但突然我在apk_dir / apktool.yml文件中找到了下一行:
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, Locale.getDefault());
intent.putExtra(RecognizerIntent.EXTRA_PROMPT,
"Speak Now");
try {
startActivityForResult(intent, 0);
} catch (ActivityNotFoundException a) {
Toast.makeText(getApplicationContext(),
"Not supported",
Toast.LENGTH_SHORT).show();
}
删除这些行后错误消失了。
UPD:仅删除带引号doNotCompress:
- js
- ''
- ini
- dat
- cfg
- xml
的行解决问题