support lib/specType chunk out-of-order reading

This commit is contained in:
wangyilei 2021-03-06 21:58:23 +08:00
parent a8f87a8b16
commit 5a66b2c42d

View File

@ -123,12 +123,19 @@ public class ARSCDecoder {
mPkg = new ResPackage(mResTable, id, name); mPkg = new ResPackage(mResTable, id, name);
nextChunk(); nextChunk();
while (mHeader.type == Header.TYPE_LIBRARY) { boolean flag = true;
readLibraryType(); while (flag) {
} switch (mHeader.type) {
case Header.TYPE_LIBRARY:
while (mHeader.type == Header.TYPE_SPEC_TYPE) { readLibraryType();
readTableTypeSpec(); break;
case Header.TYPE_SPEC_TYPE:
readTableTypeSpec();
break;
default:
flag = false;
break;
}
} }
return mPkg; return mPkg;