diff --git a/plugins/android/src/org/jetbrains/android/compiler/AndroidCompileUtil.java b/plugins/android/src/org/jetbrains/android/compiler/AndroidCompileUtil.java index a5222ce3f74a..f71dbb397779 100644 --- a/plugins/android/src/org/jetbrains/android/compiler/AndroidCompileUtil.java +++ b/plugins/android/src/org/jetbrains/android/compiler/AndroidCompileUtil.java @@ -739,8 +739,12 @@ public class AndroidCompileUtil { throws IOException { if (file.isDirectory()) { - for (File child : file.listFiles()) { - addFileToJar(jar, child, rootDirectory, packRClasses); + final File[] children = file.listFiles(); + + if (children != null) { + for (File child : children) { + addFileToJar(jar, child, rootDirectory, packRClasses); + } } } else if (file.isFile()) { diff --git a/plugins/android/src/org/jetbrains/android/compiler/AndroidPrecompileTask.java b/plugins/android/src/org/jetbrains/android/compiler/AndroidPrecompileTask.java index a12daa8df257..4e6e537b16df 100644 --- a/plugins/android/src/org/jetbrains/android/compiler/AndroidPrecompileTask.java +++ b/plugins/android/src/org/jetbrains/android/compiler/AndroidPrecompileTask.java @@ -139,14 +139,18 @@ public class AndroidPrecompileTask implements CompileTask { private static void removeAllPackages(@Nullable String sourceRootPath, @NotNull CompileContext context) { final File sourceRoot = new File(sourceRootPath); - for (File child : sourceRoot.listFiles()) { - if (child.isDirectory() && - child.getName() != null && - StringUtil.isJavaIdentifier(child.getName())) { + final File[] children = sourceRoot.listFiles(); - if (!FileUtil.delete(child)) { - context.addMessage(CompilerMessageCategory.ERROR, "Cannot delete file " + child.getAbsolutePath(), - null, -1, -1); + if (children != null) { + for (File child : children) { + if (child.isDirectory() && + child.getName() != null && + StringUtil.isJavaIdentifier(child.getName())) { + + if (!FileUtil.delete(child)) { + context.addMessage(CompilerMessageCategory.ERROR, "Cannot delete file " + child.getAbsolutePath(), + null, -1, -1); + } } } } diff --git a/plugins/android/src/org/jetbrains/android/compiler/tools/AndroidDxRunner.java b/plugins/android/src/org/jetbrains/android/compiler/tools/AndroidDxRunner.java index 7fd1c36e7179..93a1905e390c 100644 --- a/plugins/android/src/org/jetbrains/android/compiler/tools/AndroidDxRunner.java +++ b/plugins/android/src/org/jetbrains/android/compiler/tools/AndroidDxRunner.java @@ -157,8 +157,12 @@ public class AndroidDxRunner { } if (file.isDirectory()) { - for (File child : file.listFiles()) { - collectFiles(root, child, result, visited, qNames); + final File[] children = file.listFiles(); + + if (children != null) { + for (File child : children) { + collectFiles(root, child, result, visited, qNames); + } } } else { diff --git a/plugins/android/src/org/jetbrains/android/newProject/AndroidModuleBuilder.java b/plugins/android/src/org/jetbrains/android/newProject/AndroidModuleBuilder.java index b515b1cf7964..836dfb362a4f 100644 --- a/plugins/android/src/org/jetbrains/android/newProject/AndroidModuleBuilder.java +++ b/plugins/android/src/org/jetbrains/android/newProject/AndroidModuleBuilder.java @@ -253,15 +253,18 @@ public class AndroidModuleBuilder extends JavaModuleBuilder { AndroidUtils.runExternalTool(project, commandLine, true, null); if (finalTempContentRoot != null) { - for (File child : finalTempContentRoot.listFiles()) { + final File[] children = finalTempContentRoot.listFiles(); - if (SdkConstants.FD_SOURCES.equals(child.getName())) { - continue; - } - final File to = new File(contentRoot.getPath(), child.getName()); + if (children != null) { + for (File child : children) { + if (SdkConstants.FD_SOURCES.equals(child.getName())) { + continue; + } + final File to = new File(contentRoot.getPath(), child.getName()); - if (!FileUtil.moveDirWithContent(child, to)) { - LOG.error("Cannot move content from " + child.getPath() + " to " + to.getPath()); + if (!FileUtil.moveDirWithContent(child, to)) { + LOG.error("Cannot move content from " + child.getPath() + " to " + to.getPath()); + } } }