Konverze sb3 do apk

Převod souboru SB3 do APK

Zabalte projekty Scratch SB3 jako podepsané soubory Android APK nebo AAB pomocí TurboWarp a Android Studio.

Převádějte soubory SB3 online

Pro převod SB3 do APK zatím vlastní online konvertor nemáme, ale soubory SB3 můžete online převést do těchto formátů:

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

Projekt Scratch vyžaduje zabalení pro Android, pokud se má instalovat ze spouštěče Androidu, spouštět bez otevření Scratch nebo distribuovat jako soubor aplikace. Výsledkem je aplikace pro Android obsahující projekt a runtime kompatibilní se Scratch, nikoli upravitelná náhrada původního projektu.

Co obsahují soubory SB3 a APK

.sb3 je formát projektu používaný aplikací Scratch a kompatibilními editory, jako je TurboWarp. Jedná se o archiv založený na formátu ZIP obsahující project.json, skripty, kostýmy postav, zvuky a další prostředky; uživatelé Scratch, učitelé a studenti jej používají k ukládání a úpravám projektů.

.apk je instalační balíček aplikace pro Android obsahující manifest Androidu, kód aplikace, prostředky a digitální podpis. APK lze nainstalovat přímo pro testování nebo soukromou distribuci, může se zobrazit ve spouštěči aplikací Androidu a může obsahovat prostředky projektu pro použití offline. Google Play u nových aplikací běžně vyžaduje Android App Bundle (.aab), nikoli APK.

Android nedokáže soubor .sb3 samostatně spustit. Balení musí dodat webový runtime Scratch a obalit jej do aplikace pro Android.

Zabalení projektu pomocí TurboWarp a Android Studio

TurboWarp Packager je vhodný online nástroj pro převod projektu kompatibilního se Scratch na samostatnou HTML aplikaci. Nejedná se o obecný převaděč souborů: zabalí projekt spolu s runtimem potřebným k jeho spuštění. Phosphorus je pro moderní projekty Scratch 3 zastaralý a služby pro obalení webových stránek, jako je AppsGeyser, nespolehlivě zajišťují zabalení runtime projektu, prostředků, oprávnění nebo konfigurace podpisu.

  1. V aplikaci Scratch použijte File → Save to your computer k zachování původního souboru .sb3.
  2. Otevřete TurboWarp Packager, zvolte Load from your computer a vyberte soubor .sb3. Otestujte náhled včetně zvuků, ovládacích prvků, postav a rozšíření.
  3. Vyberte výstup HTML/web a stáhněte samostatný HTML balíček. Pokud se stažený soubor jmenuje project.html, vytvořte složku s názvem www a přejmenujte soubor na www/index.html.
  4. Nainstalujte Node.js a Android Studio. V terminálu vytvořte projekt Capacitor a přidejte podporu Androidu:

mkdir scratch-android && cd scratch-android
npm init -y
npm install @capacitor/core @capacitor/cli @capacitor/android
npx cap init "My Scratch App" "com.example.myscratchapp" --web-dir=www
npx cap add android
npx cap sync android
npx cap open android

Před spuštěním npx cap sync android zkopírujte připravenou složku www do adresáře projektu. Použijte ID aplikace ve formátu obrácené domény psané malými písmeny, například com.example.myscratchapp; při publikování musí být jedinečné.

  1. V Android Studio nastavte kód verze, název verze, ikonu aplikace a případná požadovaná oprávnění. Použijte Build → Generate Signed Bundle / APK; pro přímou instalaci vyberte APK nebo pro Google Play Android App Bundle a poté vytvořte či vyberte release keystore.
  2. Nainstalujte podepsané APK do fyzického zařízení Android a otestujte jej. Android může vyžadovat povolení instalace neznámých aplikací pro správce souborů, prohlížeč nebo aplikaci pro sdílení, která soubor přijímá.

Omezení kompatibility a distribuce

Testujte na verzích Androidu a velikostech obrazovek, na kterých bude aplikace používána. Dotykové ovládání, orientace obrazovky, chování automatického přehrávání zvuku, výkon a předpoklady týkající se hardwarové klávesnice se mohou lišit od desktopového prohlížeče.

Funkce Scratch pro snímání obrazu z kamery, mikrofon, geolokaci, schránku, výběr souborů a podobné funkce mohou vyžadovat oprávnění v manifestu Androidu a schválení za běhu. Některá browserová API a vlastní rozšíření vyžadují nativní změny v Androidu nebo nebudou ve WebView fungovat.

Cloudové proměnné Scratch a funkce účtu Scratch nejsou v zabalené aplikaci spolehlivé, protože závisí na webové službě Scratch a chování relace. Pokud aplikace vyžaduje sdílená data online, použijte samostatný backend nebo kompatibilní službu cloudových proměnných.

Původní soubor .sb3 si ponechte pro budoucí úpravy a archivaci. APK nebo AAB je distribuční balíček; jeho rozbalení neposkytne praktický projekt pro úpravy v aplikaci Scratch.

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

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

Srovnání souborových formátů SB3 a APK
Vlastnost .SB3 Scratch 3.0 Project .APK Android Package
Otevřený standard Ne Ne
Komprese Bezeztrátový Obojí
Typická velikost souboru Střední Střední
Otevírá se ve webovém prohlížeči Částečně Ne
Další úpravy Snadné Nelze přímo upravovat
Podpora metadat Základní Základní
Čitelný jako prostý text Ne Ne
Nejvhodnější pro Úpravy a postprodukce Vkládání do aplikací
Zavedeno 2019 2008
Vývojář Scratch Foundation Google
MIME typ application/x.scratch.sb3 application/vnd.android.package-archive

Často kladené otázky

Lze soubor SB3 přímo převést na APK?

Ne, projekt SB3 musí být zabalený do aplikace pro Android, nelze ho pouze přejmenovat nebo přímo převést na APK. Proces zabalení přidá běhové prostředí, které dokáže projekt Scratchu interpretovat v Androidu.

Budou můj kód Scratch a sprity fungovat v APK?

Obvykle lze zahrnout standardní skripty Scratch, sprity, kostýmy, zvuky a pozadí, ale kompatibilita závisí na použitém softwaru pro zabalení a jeho podpoře Scratchu. Nepodporovaná rozšíření, cloudové funkce, funkce prohlížeče nebo bloky specifické pro zařízení nemusí fungovat nebo se mohou chovat jinak.

Mohu převedené APK upravovat jako projekt SB3?

Ne, APK je zkompilovaná aplikace pro Android a běžně ho nelze upravovat jako projekt Scratch. Původní soubor SB3 si ponechte, pokud budete později potřebovat změnit skripty, grafiku nebo strukturu projektu.

Proč se v mém projektu SB3 zobrazuje prázdná obrazovka nebo projekt v APK přestane fungovat?

K tomu běžně dochází, když projekt závisí na funkcích Scratchu, které běhové prostředí Androidu nepodporuje, nebo když byly prostředky a skripty zabaleny nesprávně. Otestování projektu bez nepodporovaných rozšíření a kontrola jeho spouštěcích skriptů mohou pomoci problém odhalit.