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 e3f94c0a5..89f630f20 100644 --- a/jadx-core/src/main/java/jadx/core/xmlgen/ResTableParser.java +++ b/jadx-core/src/main/java/jadx/core/xmlgen/ResTableParser.java @@ -65,7 +65,7 @@ public class ResTableParser extends CommonBinaryParser { ResXmlGen resGen = new ResXmlGen(resStorage, vp); ResContainer res = ResContainer.multiFile("res"); - res.setContent(makeDump()); + res.setContent(makeXmlDump()); res.getSubFiles().addAll(resGen.makeResourcesXml()); return res; } @@ -82,6 +82,23 @@ public class ResTableParser extends CommonBinaryParser { writer.finish(); return writer; } + + public CodeWriter makeXmlDump() { + CodeWriter writer = new CodeWriter(); + writer.startLine(""); + writer.startLine(""); + writer.incIndent(); + + for (ResourceEntry ri : resStorage.getResources()) { + String format = String.format("", + ri.getTypeName(), ri.getKeyName(), ri.getId()); + writer.startLine(format); + } + writer.decIndent(); + writer.startLine(""); + writer.finish(); + return writer; + } public ResourceStorage getResStorage() { return resStorage; diff --git a/jadx-core/src/main/java/jadx/core/xmlgen/ResourcesSaver.java b/jadx-core/src/main/java/jadx/core/xmlgen/ResourcesSaver.java index 2675caf74..874e824cd 100644 --- a/jadx-core/src/main/java/jadx/core/xmlgen/ResourcesSaver.java +++ b/jadx-core/src/main/java/jadx/core/xmlgen/ResourcesSaver.java @@ -46,6 +46,7 @@ public class ResourcesSaver implements Runnable { if (subFiles.isEmpty()) { save(rc, outDir); } else { + saveToFile(rc, new File(outDir, "res/values/public.xml")); for (ResContainer subFile : subFiles) { saveResources(subFile); } @@ -65,6 +66,10 @@ public class ResourcesSaver implements Runnable { } return; } + saveToFile(rc, outFile); + } + + private void saveToFile(ResContainer rc, File outFile) { CodeWriter cw = rc.getContent(); if (cw != null) { cw.save(outFile);