Přeskočit na obsah

Převod souboru APK do CRX

Proč nelze soubory APK přímo převést na rozšíření Chrome CRX

Převádějte soubory APK online

Pro převod APK do CRX 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 crx

Lidé tuto konverzi hledají, když musí být Android aplikace nahrazena rozšířením prohlížeče nebo sdílena se softwarem, který přijímá balíčky CRX. APK nelze převést na funkční CRX pouhým přejmenováním nebo novým zabalením, protože tyto formáty cílí na různá runtime prostředí.

Co je formát APK

APK (Android Package) je instalační balíček používaný telefony, tablety, emulátory a build tools pro Android. Typický APK obsahuje zkompilovaný DEX kód, Android manifest, resources, assets, nativní libraries a signing certificate.

Android spouští kód APK prostřednictvím Android runtime a frameworku. Activities, services, intents, notifications, device permissions, sensors, telephony a Android storage APIs nemají uvnitř rozšíření pro desktopový prohlížeč přímý ekvivalent.

Co je formát CRX

CRX je podepsaný a zabalený formát používaný pro rozšíření prohlížečů Chrome a Chromium. CRX obvykle obsahuje payload webového rozšíření se souborem manifest.json, JavaScriptem, HTML, CSS, ikonami a dalšími webovými assets. Současná rozšíření Chrome používají Manifest V3, který běžně spouští background logic v service workeru.

Rozšíření Chrome mohou používat browser APIs, například chrome.storage, chrome.tabs a messaging APIs. Ve srovnání s unpacked extension directory poskytuje CRX podepsaný balíček pro distribuci a zachovává identity rozšíření potřebnou pro aktualizace. Odesílání do Chrome Web Store obecně probíhá ve formě ZIP souborů; store a prohlížeč zajišťují zabalenou distribuci.

Jak vytvořit ekvivalent CRX

Pro libovolný APK neexistuje přímý converter. Funkčním postupem je portovat požadovanou funkci do nového browser extension a poté tento projekt zabalit jako CRX.

  1. APK kontrolujte pouze v případech, kdy je to povoleno. Apktool dokáže dekódovat resources a manifests pomocí příkazu apktool d app.apk -o app_decoded. Výstup dekompilace je neúplný, může být obfuskovaný a nepředstavuje původní source code. Bez oprávnění neextrahujte ani znovu nepoužívejte proprietární code nebo assets.
  2. Oddělte přenositelnou funkcionalitu od funkcionality určené pouze pro Android. Business rules, network protocols a některé assets mohou být znovu použitelné. Activities, Android services, intents, unrestricted filesystem access, native libraries, hardware sensors, telephony a device-specific permissions obvykle vyžadují redesign nebo je nelze v Chrome reprodukovat.
  3. Vytvořte nový extension project. Použijte běžný directory obsahující manifest.json, JavaScript, HTML, CSS a ikony. Definujte pouze permissions vyžadovaná náhradními funkcemi. Pro současný vývoj v Chrome používejte Manifest V3.
  4. Přepište application layer. Nahraďte Android activities pomocí extension pages, popups nebo content scripts; vhodnou background work nahraďte Manifest V3 service workerem a Android storage nahraďte pomocí chrome.storage nebo vhodného web storage. Java, Kotlin a native code přepište pro browser-compatible technologies.
  5. Před zabalením vše otestujte. V Chrome nebo Chromium otevřete Extensions → Developer mode → Load unpacked a vyberte project directory. Vyřešte chyby manifestu, upozornění týkající se permissions, problémy service workeru a potíže s browser compatibility.
  6. Zabalte extension. Použijte Extensions → Developer mode → Pack extension a vyberte extension root directory. Chrome vytvoří CRX package a private-key file. Private key chraňte, protože řídí identity rozšíření a budoucí aktualizace.

Pro opakovatelné buildy použijte packaging tool kompatibilní s CRX3 nebo command-line packaging support pro Chrome po ověření signing process. ZIP archive lze použít pro vývoj a odeslání do store, ale přejmenování APK, ZIP nebo extrahovaného APK directory na .crx nevytvoří platný CRX.

Konvertory a omezení kompatibility

Žádný renomovaný online converter nedokáže převést libovolný Android application code na funkční CRX. Services, které přejmenovávají extensions, zabalí APK do archive nebo vrátí soubor ke stažení, nepřevádějí DEX code, Android APIs, permissions ani user interface. Proprietární APK ani signing material nenahrávejte na nedůvěryhodné conversion sites.

Rozšíření Chrome obvykle neinstalují ani nespouštějí APK. Android Runtime for Chrome byl starší mechanismus Chrome OS pro spouštění vybraných Android applications; nešlo o APK-to-CRX conversion a nejde o obecné řešení pro desktopový Chrome. Pokud je k dispozici původní source project, portování jeho logic a assets je obvykle spolehlivější než dekompilace APK, ale Android-specific code stále vyžaduje browser-specific replacements.

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

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

Srovnání souborových formátů APK a CRX
Vlastnost .APK Android Package .CRX Chrome Extension Package
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 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 2008 2009
Vývojář Google Google
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.