• FI can help you, and you can check this video (you can convert binary XML to XML, edit XML, and you can convert XML to Binary XML),
  • it is not free, but you can check Stylus,
  • maybe Jujuedit can help you
Answer from bora.oren on Stack Overflow
🌐
Stylus Studio
stylusstudio.com › binary-xml.html
Binary XML
How do I get my binary data into XML? How do I get my binary data out of XML? The answers to these questions and more in this amazing Binary XML tutorial.
🌐
GitHub
github.com › AbdurazaaqMohammed › AXML-Editor
GitHub - AbdurazaaqMohammed/AXML-Editor: Android app to edit android binary XML files (AndroidManifest.xml and layout XML files) · GitHub
Android app to edit AXML - Android binary XML files (AndroidManifest.xml and layout XML files) without having to decompile all resources
Starred by 96 users
Forked by 12 users
Languages   Java
🌐
Fosstrak
fosstrak.github.io › llrp › docs › developer-xml.html
Fosstrak LLRP Commander - Developer Guide - XML Editor / Binary Viewer
It only receives the updated LLRP message and reflects its binary format, but user cannot modify its value. When user switchs from XML Editor or Graphiccal Editor to Binary Viewer, the LLRPEditor module firstly generates the LLRPMessage instance, if there is any critical (Exception caught), ...
🌐
GitHub
github.com › jwurzer › axmlmod
GitHub - jwurzer/axmlmod: Android Binary XML Editor
Android Binary XML Editor. Contribute to jwurzer/axmlmod development by creating an account on GitHub.
Author   jwurzer
🌐
Datamech
datamech.com › XMLForm › convEdit.html
Editing binary data with XML converter and editor - datamech
Binary data can be edited with the XML editor by first converting the binary data to XML, edit the XML and then converted back to binary. So you start with the converter with the binary data and schema in it. Choose convert binary to form generator. Click on the generate button and you are ...
🌐
Wikipedia
en.wikipedia.org › wiki › Binary_XML
Binary XML - Wikipedia
December 17, 2025 - Using a binary XML format generally reduces the verbosity of XML documents thereby also reducing the cost of parsing, but hinders the use of ordinary text editors and third-party tools to view and edit the document.
🌐
GitHub
github.com › endlesscpp › axmleditor
GitHub - endlesscpp/axmleditor: The editor for binary AndroidManifest.xml in APK file.
The editor for binary AndroidManifest.xml in APK file. - endlesscpp/axmleditor
Starred by 29 users
Forked by 6 users
Languages   Java 100.0% | Java 100.0%
🌐
Silentsignal
blog.silentsignal.eu › 2014 › 04 › 04 › quick-and-dirty-android-binary-xml-edits
Quick and dirty Android binary XML edits - Silent Signal Techblog
April 4, 2014 - However in this case, even beta versions couldn’t handle the task, I’ve even written some wrapper scripts around the dependencies to tweak with parameters like minimum and targeted API levels, but got nowhere. Then I realized, binary XML files still have to store the attribute names somewhere, so I fired up a hex editor and hoped that the Android runtime won’t complain about unknown attributes and will use the default value.
Find elsewhere
🌐
Editix
editix.com
Professional Open Source XML Editor 2026 - EditiX
You build it once using standard ... installer fees Thank you for your understanding and support. Use the binaries if you didn't want to compile EditiX XML Editor...
🌐
Online XML Tools
onlinexmltools.com › edit-xml
Edit and View XML - Online XML Tools
Quickly edit an XML document in a browser-based XML editor. ... Display detailed information about an XML data structure. ... Convert XML to a visual image that represents its structure. ... Diff XML documents and show file differences visually. ... Loop over XML and truncate tags, elements, or values. ... Draw a table from XML data. ... Convert an XML document to Bencode encoding. ... Convert Bencode data structure to XML file. ... Convert an XML file to a binary XML (BXML) file.
🌐
Qxmledit
qxmledit.org
QXmlEdit - simple XML editor
It can split very big XML files into fragments, and compare XML and XSD files. It was born on Google code (https://code.google.com/p/qxmledit). Latest release is 0.9.18 tagged on January 2023. Downloads are hosted on sourceforge.net: https://sourceforge.net/projects/qxmledit/files. Source code packages and binary installers for MacOS and Windows are available.
🌐
Datamech
datamech.com › XMLForm › XMLandBinary.html
Convert between binary file and XML - datamech
Generate XML data from an existing binary file, and back. In combination with the XML form editor, we can edit binary file using HTML form
🌐
sdex
blog.sdex.dev › ABX
Read and edit Android Binary XML (ABX) files - sdex
January 18, 2023 - It’s still possible to read the data stored in the file in the hex editor, it’s quite inconvenient though. The file starts with ABX header and it looks like the data is in some binary format. A quick search led me to this great post - Android ABX – Binary XML, definitely check it out ...
🌐
GitHub
github.com › xgouchet › AXML
GitHub - xgouchet/AXML: Android binary XML file parser
AXML is a library designed to parse binary Android XML files (ie : XML files compressed by the Android AAPT tool).
Starred by 125 users
Forked by 30 users
Languages   Java 100.0% | Java 100.0%
Top answer
1 of 3
9

You may find a lot of command-line tools that can be used to compile and decompile the xml files for Android. Those tools are combined of several build tools including aapt (Android Asset Packaging Tools) to view, create, and update Zip-compatible archives (zip, jar, apk). Since This tool is a part of the Android SDK, There's no native implementation of it in Java.

Fortunately, self-compile-Android repository has all the necessary files in Java Native Interface (JNI). They are ready to be used from inside an Android App and capable of self-compilation, mutation, and viral spreading.

Here a list of available native modules in the app:

aapt -> Platform_Framework_Base\tools\aapt aidl -> Platform_Framework_Base\tools\aidl androidfw -> Platform_Framework_Base\include\androidfw

zipalign -> Platform_Build\tools\zipalign host -> Platform_Build\lib\host

libpng -> Platform_External_Libpng expat -> Platform_External_Expat zlib -> Platform_External_Zlib

libcutils -> Platform_System_Core\libcutils cutils -> Platform_System_Core\include\cutils

liblog -> Platform_System_Core\liblog log -> Platform_System_Core\include\log

libutils -> Platform_System_Core\libutils utils -> Platform_System_Core\include\utils

log.h -> Platform_System_Core\include\android

asset_manager.h -> Platform_Framework_Native\include\android looper.h -> Platform_Framework_Native\include\android

zopfli -> zopfli\src

ld -> Tool_Chain_Utils\binutils-2.25\ld

If you look closely at the source you'll find the app executing aapt commands using the native jni files:

private void runAapt() throws Exception {
    Util.deleteRecursive(new File(S.dirRes, "drawable-xxhdpi"));

    Aapt aapt = new Aapt();
    int exitCode = aapt.fnExecute("aapt p -f -v -M " + S.xmlMan.getPath() + " -F " + S.ap_Resources.getPath()
            + " -I " + S.jarAndroid.getPath() + " -A " + S.dirAssets.getPath() + " -S " + S.dirRes.getPath()
            + " -J " + S.dirGen.getPath());

    if (exitCode != 0) {
        throw new Exception("AAPT exit(" + exitCode + ")");
    }
}

Now, go through the sample code to see how the functionalities are implemented. For example to change a value in manifest file,

private void modifyManifest() throws Exception {
        Document dom = Util.readXml(S.xmlMan);

        dom.getDocumentElement().getAttributes().getNamedItem("package").setNodeValue(userInput.appPackage);

        Transformer t = tf.newTransformer();
        t.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4");
        t.setOutputProperty(OutputKeys.INDENT, "yes");
        t.setOutputProperty(OutputKeys.METHOD, "xml");
        t.setOutputProperty(OutputKeys.VERSION, "1.0");
        t.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
        t.transform(new DOMSource(dom), new StreamResult(new FileOutputStream(xmlFile)));
    } 
2 of 3
1

Download the xml2axml.jar tool from the github release page here and then you can use the following commands to decode axml and encode xml files:

Encoding xml files to axml:

java -jar xml2axml e [AndroidManifest-readable-in.xml] [AndroidManifest-bin-out.xml]

Decoding axml files to xml:

java -jar xml2axml d [AndroidManifest-bin-in.xml] [AndroidManifest-readable-out.xml]
🌐
XDA Forums
xdaforums.com › home › general discussion › xda-university
[GUIDE] How to change files in Android XML Binary format | XDA Forums
November 21, 2022 - ASUS_I006D:/ # find /data/system -name "*.xml" -exec file {} \; 2>/dev/null | grep "Android Binary XML" | wc -l 31 ASUS_I006D:/ #
🌐
Code Beautify
codebeautify.org › xmlviewer
Best Online XML Viewer, XML Formatter, XML Editor, Analyser, Beautify-Beautifier, Minify, Tree structure
Free XML Viewer - XML Editor - XML Formatter : Convert XML Strings or File to a Friendly Readable Format, Beautify-Beautifier, Minify, XML tree view
🌐
Datamech
datamech.com › XMLForm › XMLandBinaryUI.html
How to use the XML and binary converter - datamech
Generate XML data from an existing binary file, and back. In combination with the XML form editor, we can edit binary file using HTML form
🌐
XDA Forums
xdaforums.com › home › samsung › samsung vibrant › vibrant general
Easiest binary xml editor | XDA Forums
August 19, 2010 - What is the easiest xml editor to use for changing android xml files? Sent from my SGH-T959 using XDA App