Konverze apk do xml

Převod souboru APK do XML

Dekódujte APK do čitelného Android manifestu a resource XML pomocí Apktool.

Převádějte soubory APK online

Pro převod APK do XML zatím vlastní online konvertor nemáme, ale soubory APK můžete online převést do těchto formátů:

Jak převést soubor apk do formátu xml

Vývojář může potřebovat čitelné Android XML k prohlížení manifestu aplikace, úpravě layoutu, extrahování resources nebo sdílení konfiguračních souborů s jiným vývojářem. APK je instalovatelný package, nikoli jeden XML dokument, takže tento proces dekóduje nebo extrahuje několik možných XML souborů.

Co je formát APK

APK je instalovatelný application package systému Android. Jedná se o archiv založený na ZIP, který může obsahovat zkompilovaný application code ve formátu DEX, binární Android manifest, zkompilované resources, assets, nativní knihovny, signatures a metadata.

APK files generují Android Studio, Gradle, Android build tools a third-party build systems. S APK se setkáte při ruční instalaci aplikací, testování buildu, analýze aplikací a extrahování ze záloh zařízení.

Co je formát XML

XML je strukturovaný textový formát používaný systémem Android pro manifesty, layouty, nabídky, preferences, hodnoty resources, definice navigace a konfigurační data. Čitelné XML lze vyhledávat, porovnávat pomocí diff, upravovat, archivovat a otevírat v Android Studio, Visual Studio Code, Notepad++ nebo jiném textovém editoru.

Soubory uvnitř APK jsou často uloženy jako compiled binary XML, nikoli jako běžný text. Dekódování obnoví čitelné elementy, atributy, namespaces a odkazy na resources, ale přesně znovu nevytvoří původní project files.

Jak package dekódovat

Použijte Apktool pro čitelné resource XML

Apktool je nejvhodnější desktopová možnost, pokud požadovaný výstup zahrnuje dekódovaný manifest a Android resource files. Nainstalujte podporovaný Java runtime, poté stáhněte aktuální Apktool wrapper a JAR z oficiálního Apktool project a umístěte je podle jeho instalačních pokynů.

  1. Zkopírujte APK do working directory.
  2. Otevřete v tomto adresáři terminál.
  3. Spusťte apktool d app.apk -o decoded_app.
  4. Otevřete decoded_app/AndroidManifest.xml a prohlédněte si XML files v adresáři decoded_app/res a jeho podadresářích, včetně layoutů a value resources.

Pokud cílový adresář již existuje, použijte apktool d -f app.apk -o decoded_app k nahrazení jeho souborů. Apktool dekóduje binární manifest a zkompilované Android resources; XML files původně uložené jako prostý text může pouze extrahovat.

Prohlédnutí APK bez úplného dekódování

V Android Studio použijte Build → Analyze APK k zobrazení struktury archivu, informací o manifestu, DEX files, resources a packaged assets. To je užitečné pro prohlížení, ale obecně to nevytvoří kompletní adresář upravitelných XML files.

ZIP utility, například 7-Zip, může APK extrahovat, protože container používá ZIP technology. Nedokáže spolehlivě převést AndroidManifest.xml ani jiné compiled Android XML na čitelné source XML; tyto soubory vyžadují Android-aware decoder, například Apktool.

Neexistuje spolehlivý univerzální online APK-to-XML converter, protože APK může obsahovat více typů XML a compiled resources. Online APK analyzers mohou zobrazit informace o manifestu nebo resources, ale jednotlivé služby se liší výstupem a pravidly uchovávání dat. Online service používejte pouze pro APK, které neobsahuje důvěrná data, a to až po kontrole jeho podmínek ochrany soukromí; nenahrávejte proprietary applications, credentials, private builds ani customer data. Lokální Apktool je bezpečnější výchozí volbou.

Znovu sestavení upraveného package

Po úpravě dekódovaných resources package znovu sestavte pomocí apktool b decoded_app -o rebuilt.apk. Před instalací musí být nově sestavený soubor podepsán pomocí Android SDK apksigner, například spuštěním apksigner sign --ks release.jks rebuilt.apk s příslušným keystore a signing options.

Nově podepsané APK si nezachovává původní signing identity. Aktualizace systému Android vyžadují stejný signing key jako nainstalovaná verze, takže upravený package obvykle nemůže aktualizovat původní application. Rebuilt files testujte v emulátoru nebo na testovacím zařízení.

Omezení kvality a kompatibility

Výstupem není jeden XML file: v závislosti na package může zahrnovat manifest, layouty, nabídky, values, navigation resources a další files. Resource shrinking, obfuscation, optimization a compilation mohou odstranit názvy, komentáře, formátování a původní source structure.

Apktool může vytvořit rekonstruované XML, které se liší od původního XML v project, přestože zůstává vhodné pro prohlížení nebo v některých případech pro rebuild. Framework resources a neobvyklé packaging mohou vyžadovat další Apktool framework files nebo novější release Apktool.

DEX bytecode není XML. Pro přibližnou reprezentaci v Java použijte JADX nebo jiný decompiler pro code inspection; decompilation neobnoví původní Java nebo Kotlin source, komentáře, build configuration ani project structure.

Stručně řečeno, nelze přímo jednoduchým způsobem zkonvertovat soubor APK do XML souboru.
Proto pravděpodobně nenaleznete konverzní utilitu nebo zdarma online stránky/službu, která umí převést soubory .apk na .xml. Určitě lze nalézt webovou službu, která tuto konverzi slibuje online a zadarmo, ale pravděpodobně je to podvodná stránka slibující něco, co jednoduše nelze.

APK vs XML: srovnání formátů

Jak si formáty APK a XML stojí v nejdůležitějších vlastnostech pro tento převod.

Srovnání souborových formátů APK a XML
Vlastnost .APK Android Package .XML Extensible Markup Language
Otevřený standard Ne Ano
Komprese Obojí Bez komprese
Typická velikost souboru Střední Malé
Otevírá se ve webovém prohlížeči Ne Ano, nativně
Další úpravy Nelze přímo upravovat Snadné
Podpora metadat Základní Základní
Čitelný jako prostý text Ne Ano
Nejvhodnější pro Vkládání do aplikací Výměna dat
Zavedeno 2008 1998
Vývojář Google W3C
MIME typ application/vnd.android.package-archive application/xml