Převod souboru DEB do APK
Proč se DEB nemůže stát APK bez portování nebo opětovného sestavení software
Převádějte soubory DEB online
Pro převod DEB do APK zatím vlastní online konvertor nemáme, ale soubory DEB můžete online převést do těchto formátů:
Jak převést soubor deb do formátu apk
- Komprimované soubory
- Dosud nehodnoceno.
Program pro Linux dodávaný jako DEB nelze nainstalovat do telefonu Android nebo emulátoru, který přijímá soubory APK, takže se hledá způsob převodu, pokud je tam potřeba stejný software. Protože jsou balíčky určeny pro různé operační systémy, funkční výsledek obvykle vyžaduje portování nebo opětovné sestavení programu, nikoli jeho přejmenování či nové zabalení.
Co je formát DEB
DEB je formát balíčků systému Debian používaný distribucemi Debian, Ubuntu, Linux Mint a souvisejícími distribucemi. Jedná se o archiv ar obsahující řídicí metadata a komprimovaný datový archiv s linuxovými spustitelnými soubory, sdílenými knihovnami, konfiguračními soubory, dokumentací a instalačními skripty.
Nástroje apt a dpkg instalují balíčky DEB na kompatibilních systémech Linux. DEB může být určen pro amd64, arm64 nebo jinou architekturu Linuxu, jeho binární soubory a závislosti jsou však stále sestaveny pro Linux, nikoli pro Android.
Co je formát APK
APK je instalovatelný aplikační balíček systému Android. Obvykle obsahuje manifest Androidu, zkompilované prostředky, aplikační kód DEX, prostředky aplikace, nativní knihovny v adresářích specifických pro ABI, jako je arm64-v8a, a kryptografický podpis.
Android používá manifest, ID aplikace, oprávnění, informace o podpisu a API frameworku Androidu k instalaci a spuštění souboru APK. Soubory APK také poskytují aplikační sandbox systému Android a lze je distribuovat přímo do kompatibilních zařízení nebo emulátorů. Android Studio a Gradle jsou standardní desktopové nástroje pro jejich vytváření.
Proč přímý převod nefunguje
Archiv DEB není soubor APK s odlišnými metadaty. Jeho spustitelný soubor je obvykle binární soubor ELF pro Linux propojený s linuxovými knihovnami a rozhraními; APK vyžaduje strukturu aplikace Androidu, kompatibilní kód a podpis. Změna .deb na .apk, opětovná komprese archivu ani vložení DEB do APK nezpůsobí, že bude program spustitelný v Androidu.
Neexistuje žádný univerzální desktopový ani důvěryhodný online převodník, který by dokázal libovolný DEB změnit na funkční APK. Online archivační služby mohou DEB rozbalit, ale nedokážou portovat zdrojový kód, znovu sestavit nativní binární soubory, nahradit desktopová API, vytvořit použitelný manifest, vyřešit závislosti Androidu ani podepsat výslednou aplikaci. Nahrání proprietárních balíčků do takových služeb může také odhalit jejich obsah.
Jak vytvořit ekvivalent pro Android
- Prozkoumejte balíček. V systému Debian, Ubuntu nebo jiném systému Linux spusťte:
dpkg-deb -I program.debdpkg-deb -f program.deb Architecturedpkg-deb -x program.deb deb-rootdpkg-deb -e program.deb deb-controlProzkoumejte
deb-root/usr/bin,deb-root/usr/liba řídicí metadata. Spuštěnímfile deb-root/usr/bin/programidentifikujte spustitelný soubor ELF, skript nebo data nezávislá na architektuře. DEB obvykle neobsahuje zdrojový kód potřebný pro portování. - Najděte zdrojový kód a závislosti. Získejte zdrojový kód programu a zkontrolujte jeho licenci, build system, externí knihovny, desktopový toolkit, předpoklady týkající se systému souborů, služby běžící na pozadí a podporované procesory. Opětovné použití pouze ikon, písem nebo jiných dat z DEB neznamená portování aplikace.
- Vytvořte projekt Android. Použijte Android Studio s Gradle, definujte ID aplikace a podporované verze Androidu, implementujte aktivitu Androidu nebo jinou vhodnou komponentu a nahraďte linuxová desktopová rozhraní, správu služeb, cesty, oprávnění a mechanismy konfigurace ekvivalenty systému Android.
- V případě potřeby znovu sestavte nativní kód. Zkompilujte komponenty v jazyce C nebo C++ pomocí Android NDK pro požadované ABI, obvykle
arm64-v8a. Knihovny sestavené pro glibc nebo desktopové prostředí Linuxu obvykle vyžadují úpravy zdrojového kódu, než je bude možné sestavit proti knihovně C a API systému Android. - Přizpůsobte software příkazového řádku samostatně. Skript nebo terminálový nástroj může fungovat v Termuxu po instalaci jeho interpretu a závislostí, výsledkem však bude instalace runtime prostředí Termux, nikoli APK. Grafická aplikace pro Android stále vyžaduje rozhraní pro Android.
- Sestavte a podepište APK. V Android Studio použijte Build → Generate App Bundles or APKs → Generate APKs nebo spusťte
./gradlew assembleDebug. Debug build se podepisuje automaticky a obvykle se zapisuje do umístění podapp/build/outputs/apk/debug/. Pro distribuci nakonfigurujte release keystore a spusťte./gradlew assembleRelease; Android vyžaduje pro instalaci platný podpis.
Omezení kompatibility a alternativy
Shodná architektura procesoru nestačí. Binární soubor pro Linux může záviset na glibc, X11 nebo jiných desktopových knihovnách, cestách k souborům v Linuxu, systémových službách, funkcích kernelu nebo skriptech správce balíčků, které Android neposkytuje. DEB obsahující pouze skripty, písma nebo data lze znovu použít snáze, stále však vyžaduje kompatibilní aplikaci nebo runtime pro Android.
Pokud je cílem spustit původní program pro Linux, nikoli vytvořit APK, nainstalujte prostřednictvím Termuxu a proot-distro vhodné prostředí Linuxu a poté v tomto prostředí použijte správce balíčků, pokud architektura zařízení a distribuce odpovídají danému DEB. Tím lze obejít portování, nevytvoří se však aplikace pro Android, program může být pomalejší a neposkytuje běžnou integraci s Androidem. Nástroj apktool je užitečný pro prohlížení nebo opětovné sestavení existujícího APK; soubory DEB nepřevádí.
Stručně řečeno, nelze přímo jednoduchým způsobem zkonvertovat soubor DEB do APK souboru.
Proto pravděpodobně nenaleznete konverzní utilitu nebo zdarma online stránky/službu, která umí převést soubory .deb 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.
DEB vs APK: srovnání formátů
Jak si formáty DEB a APK stojí v nejdůležitějších vlastnostech pro tento převod.
| Vlastnost | .DEB Debian binary package | .APK Android Package |
|---|---|---|
| Otevřený standard | Ano | Ne |
| Komprese | Obojí | Obojí |
| Typická velikost souboru | Malé | 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 | 1995 | 2008 |
| Vývojář | Debian Project | |
| MIME typ | application/vnd.debian.binary-package | application/vnd.android.package-archive |