diff --git a/plugins/android/common/src/org/jetbrains/android/util/AndroidCommonUtils.java b/plugins/android/common/src/org/jetbrains/android/util/AndroidCommonUtils.java index d6db275a63c7..f52243482aa3 100644 --- a/plugins/android/common/src/org/jetbrains/android/util/AndroidCommonUtils.java +++ b/plugins/android/common/src/org/jetbrains/android/util/AndroidCommonUtils.java @@ -52,7 +52,9 @@ public class AndroidCommonUtils { private static final Pattern WARNING_PATTERN = Pattern.compile(".*warning.*"); private static final Pattern ERROR_PATTERN = Pattern.compile(".*error.*"); private static final Pattern EXCEPTION_PATTERN = Pattern.compile(".*exception.*"); + private static Pattern R_PATTERN = Pattern.compile("R(\\$.*)?\\.class"); + private static Pattern MANIFEST_PATTERN = Pattern.compile("Manifest(\\$.*)?\\.class"); public static final Pattern COMPILER_MESSAGE_PATTERN = Pattern.compile("(.+):(\\d+):.+"); @@ -204,7 +206,7 @@ public class AndroidCommonUtils { private static void addFileToJar(@NotNull File file, @NotNull File rootDirectory, - boolean packRClasses, + boolean packRAndManifestClasses, @NotNull List> files) throws IOException { @@ -213,7 +215,7 @@ public class AndroidCommonUtils { if (children != null) { for (File child : children) { - addFileToJar(child, rootDirectory, packRClasses, files); + addFileToJar(child, rootDirectory, packRAndManifestClasses, files); } } } @@ -222,7 +224,9 @@ public class AndroidCommonUtils { return; } - if (!packRClasses && R_PATTERN.matcher(file.getName()).matches()) { + if (!packRAndManifestClasses && + (R_PATTERN.matcher(file.getName()).matches() || + MANIFEST_PATTERN.matcher(file.getName()).matches())) { return; }