Přeskočit na obsah

Převod souboru APK do JAD

Vysvětluje, proč se soubory APK nemohou stát funkčními balíčky JAD/MIDlet a jak vytvořit JAD z platného JAR.

Převádějte soubory APK online

Pro převod APK do JAD 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 jad

Starší telefon nebo emulátor Java ME může vyžadovat deskriptor JAD, pokud je dostupná aplikace ve formátu Android APK. Protože tyto dva balíčky cílí na odlišná runtime prostředí, praktickým řešením je získat původní dvojici Java ME JAR/JAD nebo specializovaný port, nikoli APK přejmenovat.

Co je formát APK

APK je instalační formát balíčků pro aplikace Android, který vytvářejí Android Studio, Gradle a nástroje pro balení Android aplikací. Distribuce Androidu mohou poskytovat jeden APK nebo více rozdělených APK; vývojářské sestavení, zálohy zařízení a úložiště třetích stran běžně obsahují soubory APK.

APK je kontejner založený na formátu ZIP, který obvykle obsahuje zkompilovaný nebo binární soubor AndroidManifest.xml, bytecode Dalvik/ART v souboru classes.dex, prostředky, nativní knihovny a informace o podpisu. Android používá manifest, DEX kód, prostředky a frameworková API k instalaci a spuštění aplikace.

Co je formát JAD

JAD je textový Java Application Descriptor používaný telefony a emulátory Java ME. Popisuje samostatný Java ME aplikační JAR a běžně obsahuje položky MIDlet-Name, MIDlet-Version, MIDlet-Vendor, MIDlet-1, MicroEdition-Configuration, MicroEdition-Profile, MIDlet-Jar-URL a MIDlet-Jar-Size.

JAR obsahuje soubory tříd Java ME a prostředky; JAD poskytuje instalační metadata a identifikuje tento JAR. JAD není spustitelná aplikace a bez kompatibilního kódu Java ME nemůže fungovat.

Proč nefunguje přímá konverze

Neexistuje skutečná konverze APK na JAD. Android používá bytecode DEX, frameworková API Androidu, komponenty aplikací Android a runtime Dalvik/ART. Java ME používá soubory tříd Java, API CLDC/MIDP a životní cyklus MIDletu. Deskriptor nedokáže mezi těmito platformami převést bytecode, rozvržení Androidu, oprávnění, nativní knihovny ani závislosti frameworku.

Přejmenování app.apk na app.jad, extrahování obsahu APK do JAR nebo zkopírování hodnot z manifestu Androidu do JAD vytvoří neplatný nebo nefunkční balíček Java ME. Žádný důvěryhodný online převaděč nedokáže změnit aplikaci Android na funkční MIDlet; služby, které to tvrdí, obvykle pouze přejmenují, extrahují nebo znovu zabalí soubory, aniž by program přeložily.

Jak vytvořit JAD z existujícího JAR Java ME

Tento postup platí pouze tehdy, pokud již máte platný JAR Java ME, včetně případu, kdy je náhodou zabalen uvnitř APK. Libovolný JAR uvnitř APK není automaticky aplikací Java ME; ověřte přítomnost tříd MIDlet a atributů manifestu Java ME.

  1. Prohlédněte APK pomocí 7-Zip nebo nástrojů platformy Android. V systému s unzip vypište jeho obsah pomocí unzip -l app.apk a extrahujte jej pomocí unzip app.apk -d app_unpacked. Extrahování nepřevede kód Androidu.
  2. Pokud potřebujete prohlédnout prostředky Androidu, manifest nebo disassemblovaný kód DEX, použijte Apktool: apktool d app.apk -o app_decoded. Apktool dekóduje soubory Androidu a vytváří smali, ale nevytvoří JAR ani JAD Java ME.
  3. Pokud je k dispozici vhodný JAR Java ME, použijte lokální nástroj pro převod JAR na JAD, například JADMaker, nebo vytvořte deskriptor ručně v textovém editoru. Nástroje Java ME SDK nebo Wireless Toolkit mohou deskriptory také generovat jako součást sestavení Java ME.
  4. Chcete-li jej vytvořit ručně, uložte textový soubor vedle JAR se stejným základním názvem, například example.jad vedle example.jar:
MIDlet-Name: Example
MIDlet-Version: 1.0
MIDlet-Vendor: Example Vendor
MIDlet-1: Example,,com.example.ExampleMIDlet
MicroEdition-Configuration: CLDC-1.1
MicroEdition-Profile: MIDP-2.0
MIDlet-Jar-URL: example.jar
MIDlet-Jar-Size: 123456

Nahraďte vzorové hodnoty metadaty podporovanými daným JAR. Třída v položce MIDlet-1 musí v JAR existovat a implementovat požadovaný vstupní bod MIDletu. MIDlet-Jar-Size musí odpovídat přesné velikosti JAR v bytech, bez oddělovačů. URL může být místní název souboru pro boční instalaci nebo URL serveru pro síťovou instalaci.

Online generátor JAR-to-JAD je přijatelný pouze pro necitlivý, již platný JAR Java ME; APK převést nedokáže. Pro podepsané nebo proprietární soubory je bezpečnější desktopový generátor, protože nahráním archivu zpřístupníte jeho obsah. Před přenosem obou souborů do telefonu nebo emulátoru ověřte vygenerovaná pole a velikost JAR.

Omezení kompatibility

APK Androidu může vyžadovat verze frameworku Android, oprávnění, služby Google, nativní knihovny, funkce dotykové obrazovky nebo hardware, pro které neexistuje ekvivalent v Java ME. Ani dekompilace zdrojového kódu by nevytvořila přenositelný MIDlet bez rozsáhlého přepsání pro API CLDC/MIDP a nového sestavení Java ME.

Pro instalaci nebo archivaci Androidu si ponechte původní podepsaný APK nebo všechny požadované rozdělené APK. Pro zařízení Java ME získejte původní odpovídající vydání JAR/JAD nebo samostatně vyvinutý port Java ME; samotný vygenerovaný deskriptor nemůže zajistit kompatibilitu aplikace Android.

Stručně řečeno, nelze přímo jednoduchým způsobem zkonvertovat soubor APK do JAD souboru.
Proto pravděpodobně nenaleznete konverzní utilitu nebo zdarma online stránky/službu, která umí převést soubory .apk na .jad. 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 JAD: srovnání formátů

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

Srovnání souborových formátů APK a JAD
Vlastnost .APK Android Package .JAD Java Application Descriptor
Otevřený standard Ne Ne
Komprese Obojí Bez komprese
Typická velikost souboru Střední Velmi malé
Otevírá se ve webovém prohlížeči Ne Ne
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í Vkládání do aplikací
Zavedeno 2008 2000
Vývojář Google Sun Microsystems
MIME typ application/vnd.android.package-archive —

Informace o příponách a typech souborů poskytuje File-Extensions.org

Soubor už byl stažen

Tento soubor už byl stažen. Kvůli ochraně soukromí jsme ho hned po stažení smazali ze serveru, takže ho nejde stáhnout znovu. Pokud ho potřebujete ještě jednou, převeďte soubor znovu.