Konverze apk do deb

Převod souboru APK do DEB

Zabalte Android APK do DEB wrapperu nebo jej spusťte pomocí Waydroid; nativní konverze není k dispozici.

Převádějte soubory APK online

Pro převod APK do DEB 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 deb

Instalační program, repository nebo workflow pro správu softwaru v Debianu či Ubuntu může vyžadovat soubor .deb, pokud je dostupná aplikace ve formátu Android .apk. APK obvykle nelze převést na nativní aplikaci pro Debian; musí buď běžet uvnitř Android runtime, nebo být pro distribuci umístěn do DEB wrapperu.

Co je formát APK

APK je formát balíčku aplikace pro Android založený na formátu ZIP. Může obsahovat zkompilovaný bytecode Androidu, nativní knihovny, prostředky, manifest aplikace, oprávnění a metadata podpisu. Android Studio a Gradle vytvářejí soubory APK a uživatelé je běžně získávají při instalaci aplikací mimo Google Play.

APK očekává API frameworku Androidu, oprávnění Androidu a Android runtime. Přejmenování souboru nebo změna přípony archivu nezpůsobí, že jeho kód bude spustitelný v Debianu nebo Ubuntu.

Co je formát DEB

DEB je nativní formát balíčků pro Debian, Ubuntu, Linux Mint a související distribuce. Balíček obvykle obsahuje značku debian-binary, control archive s metadaty a skripty správce balíčku a data archive obsahující instalované soubory. Metadata určují název balíčku, verzi, architekturu, závislosti a instalační cesty.

dpkg instaluje jednotlivé soubory DEB; APT řeší závislosti a spravuje repository, aktualizace a odstraňování. DEB je vhodný pro spustitelné soubory Linuxu, sdílené knihovny, služby, soubory desktopu a skripty vytvořené pro cílový systém. Nepřekládá bytecode Androidu ani neposkytuje závislosti frameworku Androidu.

Jak vytvořit DEB wrapper

Pokud systém správy přijímá pouze soubory DEB, vytvořte balíček, který uloží původní APK. Jde o packaging, nikoli konverzi; instalace výsledného DEB z aplikace pro Android nevytvoří nativní program pro Linux.

  1. Nainstalujte nástroje pro vytváření Debian balíčků: sudo apt update && sudo apt install dpkg-dev.
  2. Vytvořte strom balíčku a zkopírujte do něj APK:
    mkdir -p myapp-deb/DEBIAN myapp-deb/usr/share/myapp
    cp app.apk myapp-deb/usr/share/myapp/
  3. Vytvořte myapp-deb/DEBIAN/control s metadaty balíčku:
    Package: myapp-apk
    Version: 1.0.0
    Section: misc
    Priority: optional
    Architecture: all
    Maintainer: Package Maintainer <maintainer@example.com>
    Description: Android application archive for an Android runtime
  4. Sestavte DEB: dpkg-deb --build myapp-deb myapp-apk_1.0.0_all.deb.
  5. Pokud cílový workflow vyžaduje DEB, nainstalujte místní balíček: sudo apt install ./myapp-apk_1.0.0_all.deb. APK bude umístěno v /usr/share/myapp/app.apk.

Architecture: all popisuje wrapper, který neobsahuje žádný zkompilovaný binární soubor Linuxu; neznamená to, že aplikace pro Android podporuje každou architekturu procesoru. Produkční balíček může přidat skripty správce balíčku, integraci s desktopem nebo závislost na samostatně nainstalovaném Android runtime, ale ani tyto doplňky APK nepřevedou.

Jak spustit APK v Linuxu

Nainstalujte a nakonfigurujte prostředí kompatibility s Androidem, například Waydroid, v kompatibilním desktopu Linuxu a poté po spuštění jeho Android session nainstalujte APK:

waydroid session start
waydroid app install /usr/share/myapp/app.apk

Waydroid vyžaduje podporované funkce kernelu a grafickou integraci a jeho dostupnost závisí na distribuci a desktop session. Android runtime poskytuje API Androidu; DEB wrapper poskytuje pouze soubor. Některé aplikace navíc vyžadují Google Play Services, hardwarové senzory, DRM, oprávnění specifická pro Android nebo služby zařízení, které nejsou v runtime dostupné.

Omezení konverze a alternativy

Nativní Linux DEB vyžaduje Linux build aplikace nebo port zdrojového kódu. APK obsahující bytecode Androidu a nativní knihovny Androidu obecně nelze extrakcí jeho obsahu znovu sestavit jako aplikaci pro Linux. APK obsahující pouze nativní knihovny arm64-v8a může také selhat v prostředí Androidu x86_64, pokud není k dispozici kompatibilní překlad.

APK můžete lokálně prozkoumat pomocí Android Studio Build → Analyze APK nebo pomocí unzip -l app.apk. Před výběrem runtime zkontrolujte adresáře nativních knihoven, například lib/arm64-v8a a lib/x86_64.

Android App Bundle (.aab) nelze přímo nainstalovat. Pomocí nástroje Google bundletool vygenerujte požadovanou sadu APK a při instalaci aplikace distribuované tímto způsobem zachovejte všechny split APK. Jediný base APK může být neúplný.

Nepřejmenovávejte app.apk na app.deb ani jej neodesílejte do online konvertoru archivů. Žádná renomovaná online služba spolehlivě nepřevede aplikaci pro Android na nativní balíček Debianu; služby, které to inzerují, soubor obvykle pouze přejmenují, znovu zabalí nebo opatří wrapperem. Proprietární APK a materiály pro podepisování uchovávejte lokálně a pro wrapper použijte dpkg-deb a pro spuštění Waydroid nebo jiné Android runtime.

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

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

Srovnání souborových formátů APK a DEB
Vlastnost .APK Android Package .DEB Debian binary package
Otevřený standard Ne Ano
Komprese Obojí Obojí
Typická velikost souboru Střední Malé
Otevírá se ve webovém prohlížeči Ne Ne
Další úpravy Nelze přímo upravovat Omezeně
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 2008 1995
Vývojář Google Debian Project
MIME typ application/vnd.android.package-archive application/vnd.debian.binary-package