diff --git a/brut.apktool/apktool-lib/src/main/java/brut/androlib/Androlib.java b/brut.apktool/apktool-lib/src/main/java/brut/androlib/Androlib.java index fcf55ade..c884c082 100644 --- a/brut.apktool/apktool-lib/src/main/java/brut/androlib/Androlib.java +++ b/brut.apktool/apktool-lib/src/main/java/brut/androlib/Androlib.java @@ -718,7 +718,8 @@ public class Androlib { private final static String[] APK_MANIFEST_FILENAMES = new String[] { "AndroidManifest.xml" }; private final static String[] APK_STANDARD_ALL_FILENAMES = new String[] { - "classes.dex", "AndroidManifest.xml", "resources.arsc", "res", "r", "lib", "libs", "assets", "META-INF" }; + "classes.dex", "AndroidManifest.xml", "resources.arsc", "res", "r", "R", + "lib", "libs", "assets", "META-INF" }; // Taken from AOSP's frameworks/base/tools/aapt/Package.cpp private final static Pattern NO_COMPRESS_PATTERN = Pattern.compile("\\.(" + "jpg|jpeg|png|gif|wav|mp2|mp3|ogg|aac|mpg|mpeg|mid|midi|smf|jet|rtttl|imy|xmf|mp4|" + diff --git a/brut.apktool/apktool-lib/src/main/java/brut/androlib/res/AndrolibResources.java b/brut.apktool/apktool-lib/src/main/java/brut/androlib/res/AndrolibResources.java index 16eb4028..e0dbf644 100644 --- a/brut.apktool/apktool-lib/src/main/java/brut/androlib/res/AndrolibResources.java +++ b/brut.apktool/apktool-lib/src/main/java/brut/androlib/res/AndrolibResources.java @@ -246,6 +246,9 @@ final public class AndrolibResources { if (in == null && inApk.containsDir("r")) { in = inApk.getDir("r"); } + if (in == null && inApk.containsDir("R")) { + in = inApk.getDir("R"); + } } catch (DirectoryException ex) { throw new AndrolibException(ex); } diff --git a/brut.apktool/apktool-lib/src/main/java/brut/androlib/res/data/value/ResFileValue.java b/brut.apktool/apktool-lib/src/main/java/brut/androlib/res/data/value/ResFileValue.java index 07edbbdc..15d50151 100644 --- a/brut.apktool/apktool-lib/src/main/java/brut/androlib/res/data/value/ResFileValue.java +++ b/brut.apktool/apktool-lib/src/main/java/brut/androlib/res/data/value/ResFileValue.java @@ -37,7 +37,7 @@ public class ResFileValue extends ResIntBasedValue { if (mPath.startsWith("res/")) { return mPath.substring(4); } - if (mPath.startsWith("r/")) { + if (mPath.startsWith("r/") || mPath.startsWith("R/")) { return mPath.substring(2); } throw new AndrolibException("File path does not start with \"res/\" or \"r/\": " + mPath);