diff --git a/jadx-core/src/main/java/jadx/core/xmlgen/ResTableParser.java b/jadx-core/src/main/java/jadx/core/xmlgen/ResTableParser.java index 89f630f20..c24f2a08a 100644 --- a/jadx-core/src/main/java/jadx/core/xmlgen/ResTableParser.java +++ b/jadx-core/src/main/java/jadx/core/xmlgen/ResTableParser.java @@ -3,7 +3,9 @@ package jadx.core.xmlgen; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; +import java.util.HashSet; import java.util.List; +import java.util.Set; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -89,10 +91,13 @@ public class ResTableParser extends CommonBinaryParser { writer.startLine(""); writer.incIndent(); + Set addedValues = new HashSet<>(); for (ResourceEntry ri : resStorage.getResources()) { - String format = String.format("", - ri.getTypeName(), ri.getKeyName(), ri.getId()); - writer.startLine(format); + if(addedValues.add(ri.getTypeName() + "." + ri.getKeyName())) { + String format = String.format("", + ri.getTypeName(), ri.getKeyName(), ri.getId()); + writer.startLine(format); + } } writer.decIndent(); writer.startLine("");