Konverze bar do apk

Převod souboru BAR do APK

Extrahujte APK z balíčku BAR nebo jej znovu sestavte, pokud není k dispozici žádný použitelný Android payload.

Vytvořte soubory APK online

Soubory BAR 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 bar do formátu apk

Zařízení Android nebo emulátor nemůže nainstalovat balíček .bar, takže soubor BAR může vyžadovat konverzi, pokud není k dispozici původní balíček Android. V mnoha případech je úloha omezena na extrahování vloženého APK; jinak musí být aplikace znovu sestavena ze zdrojového kódu nebo nahrazena verzí pro Android.

Co je formát BAR

BAR je formát podepsaného aplikačního balíčku používaný platformami BlackBerry PlayBook a BlackBerry 10. Vývojáři a distributoři BlackBerry používali balíčky BAR k nasazování aplikací do tabletů PlayBook, telefonů BlackBerry 10, simulátorů a systémů spravované distribuce.

Balíček BAR může obsahovat aplikační payload Android, metadata specifická pro BlackBerry, manifesty, nativní knihovny a jeden nebo více podpisů. Jeho obsah závisí na toolchainu BlackBerry a typu aplikace; soubor BAR není automaticky APK a některé soubory BAR neobsahují kompletní obnovitelný balíček Android.

Co je formát APK

APK je formát instalovatelného aplikačního balíčku systému Android. Zařízení Android, emulátory, správci balíčků a nástroje, jako je Android Studio, používají soubory APK k přímé instalaci a testování.

APK obvykle obsahuje AndroidManifest.xml, zkompilované resources, bytecode DEX, assets, volitelné nativní knihovny a platný podpisový blok Android. Změna .bar na .apk nevytvoří žádný z těchto požadavků ani nezpůsobí, že bude balíček instalovatelný.

Jak extrahovat vložený APK

  1. Vytvořte zálohu souboru BAR. Otevřete jej pomocí 7-Zip v systému Windows, pomocí Keka nebo archivačního nástroje v systému macOS, případně pomocí příkazu unzip v systému Linux a macOS. Použijte Open archive nebo ekvivalentní příkaz; příponu pouze nepřejmenovávejte.
  2. Vyhledejte v obsahu archivu soubor s příponou .apk. Pokud existuje, extrahujte jej bez úprav jeho obsahu. V systémech podobných Unixu jej zkontrolujte pomocí unzip -l application.bar a extrahujte pomocí unzip application.bar -d bar-files.
  3. Zkontrolujte extrahovaný balíček pomocí příkazu Android SDK Build Tools apksigner verify --verbose extracted.apk. Platný podpis potvrzuje podepsání balíčku, nikoli kompatibilitu s aktuálními verzemi Androidu.
  4. Pro testování instalujte pouze pomocí adb install extracted.apk nebo použijte emulátor Android. Pokud instalace nahlásí problém s podpisem a software vlastníte nebo máte oprávnění jej upravovat, podepište znovu sestavený nebo extrahovaný balíček vlastním klíčem: apksigner sign --ks release-key.jks --out signed.apk extracted.apk.

Opětovné podepsání změní identitu podpisu. Android nepřijme výsledek jako aktualizaci verze podepsané klíčem původního vývojáře; existující instalaci může být nejprve nutné odstranit.

Co dělat, když BAR neobsahuje APK

Pokud kontrola odhalí pouze soubory specifické pro BlackBerry nebo neúplný Android payload, neexistuje spolehlivá konverze jedním kliknutím. Získejte původní APK od vývojáře nebo aplikaci znovu sestavte ze zdrojového projektu Android v prostředí Android Studio pomocí Build → Generate App Bundles or APKs → Generate APKs a poté vygenerovaný APK podepište.

Apktool dokáže dekódovat a znovu sestavit některé platné APK, ale nedokáže rekonstruovat chybějící APK z libovolného souboru BAR. Použijte jej až po identifikaci použitelného Android payloadu, například apktool d payload.apk -o decoded-app. Opětovné sestavení může vyžadovat opravu manifestu, resources, kódu DEX, konfigurace nativních knihoven a podpisu.

Omezení kompatibility

Aplikace převedené z BlackBerry mohou záviset na BlackBerry Runtime for Android, rozhraních BlackBerry API, zastaralých verzích Androidu nebo službách specifických pro dané zařízení. Extrahovaný nebo znovu sestavený APK se proto může úspěšně nainstalovat, ale při spuštění selhat nebo přijít o některé funkce.

Formáty balíčků Android a pravidla podepisování se také v průběhu času změnily. Starý APK může na novějších verzích Androidu selhat kvůli nepodporovaným úrovním target SDK, odstraněným API, nativním knihovnám pouze pro 32bitové systémy, nekompatibilním oprávněním nebo zastaralým kryptografickým podpisům.

Obecné online konvertory nejsou pro tuto konverzi vhodné. Webová služba může archiv BAR přejmenovat nebo rozbalit, ale nedokáže znovu vytvořit chybějící metadata Android, nahradit závislosti na BlackBerry runtime ani reprodukovat původní podpisový klíč. Žádná renomovaná online služba spolehlivě nepřevede libovolné soubory BAR na funkční APK; místo toho použijte lokální archivační nástroje a původní zdrojový kód nebo APK.