mirror of
https://github.com/revanced/Apktool.git
synced 2025-05-03 15:24:26 +02:00
fix: add support for overlay spec skipping
This commit is contained in:
parent
26f39ee736
commit
c300184780
@ -128,11 +128,14 @@ public class ARSCDecoder {
|
|||||||
boolean flag = true;
|
boolean flag = true;
|
||||||
while (flag) {
|
while (flag) {
|
||||||
switch (mHeader.type) {
|
switch (mHeader.type) {
|
||||||
|
case Header.XML_TYPE_SPEC_TYPE:
|
||||||
|
readTableTypeSpec();
|
||||||
|
break;
|
||||||
case Header.XML_TYPE_LIBRARY:
|
case Header.XML_TYPE_LIBRARY:
|
||||||
readLibraryType();
|
readLibraryType();
|
||||||
break;
|
break;
|
||||||
case Header.XML_TYPE_SPEC_TYPE:
|
case Header.XML_TYPE_OVERLAY:
|
||||||
readTableTypeSpec();
|
readOverlaySpec();
|
||||||
break;
|
break;
|
||||||
case Header.XML_TYPE_STAGED_ALIAS:
|
case Header.XML_TYPE_STAGED_ALIAS:
|
||||||
readStagedAliasSpec();
|
readStagedAliasSpec();
|
||||||
@ -168,8 +171,18 @@ public class ARSCDecoder {
|
|||||||
int count = mIn.readInt();
|
int count = mIn.readInt();
|
||||||
|
|
||||||
for (int i = 0; i < count; i++) {
|
for (int i = 0; i < count; i++) {
|
||||||
/* stagedResId */mIn.skipInt();
|
LOGGER.info(String.format("Skipping staged alias stagedId (%h) finalId: %h", mIn.readInt(), mIn.readInt()));
|
||||||
/* finalizedResId */mIn.skipInt();
|
}
|
||||||
|
|
||||||
|
nextChunk();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void readOverlaySpec() throws IOException {
|
||||||
|
/* policyFlags */mIn.skipInt();
|
||||||
|
int count = mIn.readInt();
|
||||||
|
|
||||||
|
for (int i = 0; i < count; i++) {
|
||||||
|
LOGGER.info(String.format("Skipping overlay (%h)", mIn.readInt()));
|
||||||
}
|
}
|
||||||
|
|
||||||
nextChunk();
|
nextChunk();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user