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(""); diff --git a/jadx-gui/src/main/java/jadx/gui/treemodel/JResource.java b/jadx-gui/src/main/java/jadx/gui/treemodel/JResource.java index fe68b2df7..d5212709f 100644 --- a/jadx-gui/src/main/java/jadx/gui/treemodel/JResource.java +++ b/jadx-gui/src/main/java/jadx/gui/treemodel/JResource.java @@ -205,6 +205,9 @@ public class JResource extends JLoadableNode implements Comparable { if (ext.equals("html")) { return SyntaxConstants.SYNTAX_STYLE_HTML; } + if(ext.equals("arsc")) { + return SyntaxConstants.SYNTAX_STYLE_XML; + } return null; }