From f997e0aff144d27dd5bedc62a27814f4a0b59367 Mon Sep 17 00:00:00 2001 From: Connor Tumbleson Date: Thu, 3 Jan 2019 16:57:23 -0500 Subject: [PATCH] fix: patch out bools on ResBooleans, as they must be empty - refs: #1918 --- .../java/brut/androlib/res/data/value/ResScalarValue.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/brut.apktool/apktool-lib/src/main/java/brut/androlib/res/data/value/ResScalarValue.java b/brut.apktool/apktool-lib/src/main/java/brut/androlib/res/data/value/ResScalarValue.java index 5deace0e..b396762a 100644 --- a/brut.apktool/apktool-lib/src/main/java/brut/androlib/res/data/value/ResScalarValue.java +++ b/brut.apktool/apktool-lib/src/main/java/brut/androlib/res/data/value/ResScalarValue.java @@ -83,6 +83,13 @@ public abstract class ResScalarValue extends ResIntBasedValue implements } } + // Android does not allow values (false) for ids.xml anymore + // https://issuetracker.google.com/issues/80475496 + // But it decodes as a ResBoolean, which makes no sense. So force it to empty + if (type.equalsIgnoreCase("id") && !body.isEmpty()) { + body = ""; + } + // check for using attrib as node or item String tagName = item ? "item" : type;