diff --git a/brut.apktool/apktool-lib/src/main/java/brut/androlib/res/decoder/ARSCDecoder.java b/brut.apktool/apktool-lib/src/main/java/brut/androlib/res/decoder/ARSCDecoder.java index 9bd17278..7913b30d 100644 --- a/brut.apktool/apktool-lib/src/main/java/brut/androlib/res/decoder/ARSCDecoder.java +++ b/brut.apktool/apktool-lib/src/main/java/brut/androlib/res/decoder/ARSCDecoder.java @@ -123,12 +123,19 @@ public class ARSCDecoder { mPkg = new ResPackage(mResTable, id, name); nextChunk(); - while (mHeader.type == Header.TYPE_LIBRARY) { - readLibraryType(); - } - - while (mHeader.type == Header.TYPE_SPEC_TYPE) { - readTableTypeSpec(); + boolean flag = true; + while (flag) { + switch (mHeader.type) { + case Header.TYPE_LIBRARY: + readLibraryType(); + break; + case Header.TYPE_SPEC_TYPE: + readTableTypeSpec(); + break; + default: + flag = false; + break; + } } return mPkg;