Konverze appx do apk

Převod souboru APPX do APK

Proč se soubory APPX nemohou stát soubory APK, jak extrahovat vložené soubory APK a kdy je nutný rebuilding.

Vytvořte soubory APK online

Soubory APPX zatím číst neumíme, takže tenhle převod nenabízíme. Pokud dokážete svou práci uložit do některého z těchto formátů, APK z něj vyrobíme:

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

Windows APPX nelze nainstalovat v systému Android, takže tento požadavek obvykle vzniká tehdy, když je v telefonu Android potřeba starší aplikace pro Windows nebo když se předpokládá, že APPX obsahuje balíček pro Android. Správným řešením je obvykle získat Android APK od vydavatele nebo aplikaci znovu sestavit; přímo lze extrahovat pouze vložený APK.

Co je formát APPX

APPX je balíček aplikace pro Windows založený na formátu ZIP, který používají Windows 8, Windows 10, Windows 11, nasazení prostřednictvím Microsoft Store a nástroje MSIX. Vývojáři jej vytvářejí pomocí Visual Studio, MakeAppx, MSIX Packaging Tool nebo jiných sestavovacích systémů pro Windows. APPX může obsahovat spustitelné soubory Windows, komponenty WinRT, manifest balíčku, prostředky, certifikáty a závislé balíčky. Tyto komponenty cílí na Windows APIs a nejde o kód aplikace pro Android.

Aplikace pro Windows Phone mohou rovněž používat APPX nebo související formáty balíčků. Windows Phone APPX se nestane aplikací pro Android přejmenováním, extrahováním ani kompresí.

Co je formát APK

APK je instalovatelný balíček aplikace pro Android. Obvykle obsahuje zkompilovaný bytecode Androidu, nativní knihovny, prostředky, AndroidManifest.xml a kryptografický podpis. Android Studio, Gradle a build tools Android SDK vytvářejí soubory APK. Android může APK nainstalovat přímo v závislosti na verzi Androidu, architektuře CPU, oprávněních, podpisu a závislostech aplikace.

Jak zkontrolovat APPX, zda obsahuje APK

Běžný Windows APPX nelze přímo převést na APK. Přejmenování program.appx na program.apk změní pouze název souboru; Android soubor odmítne, protože jeho manifest, spustitelný kód, knihovny a podpis cílí na Windows.

Některé balíčky související s Windows Subsystem for Android mohou obsahovat soubory Android APK nebo je distribuovat. Jedná se o extrahování, nikoli o konverzi. Takový balíček zkontrolujte pomocí desktopových archivačních nástrojů:

  1. Vytvořte kopii původního balíčku a nainstalujte 7-Zip nebo jiný archivační nástroj kompatibilní s formátem ZIP.
  2. Extrahujte jej pomocí 7z x program.appx -oappx-extracted nebo použijte příkazy Open archive → Extract v nástroji 7-Zip. Stejný postup lze použít ke kontrole některých souborů .msix, .appxbundle nebo .msixbundle, ačkoli bundle může obsahovat několik vnořených balíčků.
  3. V extrahovaném adresáři vyhledejte soubory APK. V PowerShell spusťte Get-ChildItem .\appx-extracted -Recurse -Filter *.apk.
  4. Zkopírujte nalezený APK nebo všechny požadované split APK do samostatného adresáře. Pokud žádný APK neexistuje, balíček neobsahuje žádnou aplikaci pro Android, kterou by bylo možné extrahovat; aplikaci je nutné znovu sestavit ze zdrojového kódu nebo nahradit verzí pro Android.
  5. Nainstalujte jeden kompatibilní APK pomocí Android SDK Platform-Tools a se zapnutým USB debugging: adb install app.apk.

Balíček může obsahovat base.apk a konfigurační nebo asset split APK. Nainstalujte celou sadu společně, například adb install-multiple base.apk config.apk, a přidejte všechny požadované splity. Neinstalujte náhodný split samostatně.

Signing extrahovaného APK

Extrahovaný APK již může být podepsaný, ale upravený nebo nepodepsaný APK musí být před instalací zarovnán a podepsán. Použijte odpovídající verze Android SDK Build-Tools:

zipalign -p -f 4 input.apk aligned.apk
apksigner sign --ks release.jks --out signed.apk aligned.apk
apksigner verify --verbose signed.apk

Signing vyžaduje keystore a signing key. Nový podpis se liší od podpisu vydavatele, takže Android jej nenainstaluje jako aktualizaci přes existující kopii podepsanou jiným klíčem. Úprava již podepsaného APK rovněž zneplatní jeho původní podpis, pokud nebude znovu podepsán.

Kompatibilita a omezení

Většina souborů APPX obsahuje pouze binární soubory Windows, takže žádný důvěryhodný online konvertor je nedokáže převést na aplikace pro Android. Online prohlížeče archivů mohou zobrazit nebo extrahovat obsah balíčku, ale nedokážou nahradit Windows APIs, převést kód WinRT na kód Androidu ani vytvořit funkční build pro Android. Nenahrávejte proprietární ani podepsané balíčky do služeb, které slibují konverzi APPX na APK jedním kliknutím.

Extrahovaný APK může stále selhat, protože vyžaduje Google Play services, konkrétní úroveň Android API, nativní knihovny ARM nebo x86, instalaci split balíčků, proprietární licencování nebo služby běžící na pozadí, které nejsou v zařízení dostupné. APK určené pro Windows Subsystem for Android může být také závislé na tomto prostředí.

Pokud vydavatel poskytuje Android APK nebo Android App Bundle, použijte tuto verzi namísto extrahování balíčku specifického pro daného dodavatele. Pokud vlastníte zdrojový kód, vytvořte nebo přeneste projekt pro Android v Android Studio a aplikaci znovu sestavte pro Android; samotný APPX neobsahuje zdrojový kód potřebný ke konverzi.

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

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

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

Srovnání souborových formátů APPX a APK
Vlastnost .APPX AppX application package .APK Android Package
Otevřený standard Částečně otevřený Ne
Komprese Obojí Obojí
Typická velikost souboru Střední Střední
Otevírá se ve webovém prohlížeči Ne Ne
Další úpravy Omezeně Nelze přímo upravovat
Podpora metadat Základní Základní
Čitelný jako prostý text Ne Ne
Nejvhodnější pro Vkládání do aplikací Vkládání do aplikací
Zavedeno 2012 2008
Vývojář Microsoft Google
MIME typ — application/vnd.android.package-archive