Při vytváření aplikací s Expo zabere většinu tvrdé práce za vás. Chcete-li tedy vytvořit apk pro vaši aplikaci, je to pouze příkaz na jednom řádku
expo build:android -t apk
Ale pro PURE React Native App je to o něco zábavnější než jen to. Jak? Pojďme to společně zjistit!!
(podívejte se na tento odkaz, je to NEJLEPŠÍ)
https://instamobile.io/android-development/generate-react-native-release-build-android/
Krok 1:Vygenerování souboru .keystore
Spuštěním následujícího příkazu vytvořte .keystore" soubor pro vaši stavbu
keytool -genkey -v -keystore your_key_name.keystore -alias your_key_alias -keyalg RSA -keysize 2048 -validity 10000
Obvykle dávám přednost tomu, aby byl název mého klíče stejný jako název mé aplikace, ale můžete si jej pojmenovat jakkoli chcete :)
Po spuštění výše uvedeného příkazu budete vyzváni k mnoha otázkám z vašeho milovaného terminálu. Pečlivě odpovězte na každé z nich a ZAPAMATUJTE si heslo, budete ho potřebovat později (zejména to poslední, ale všechny si ponecháme stejné, takže je budeme považovat za jedno heslo)
V důsledku předchozího příkazu vygeneruje soubor úložiště klíčů v adresáři vašeho projektu s názvem "název_vašeho_klíče.keystore" platí 10 000 dní. A co je nejdůležitější, zálohujte tento soubor úložiště klíčů a jeho přihlašovací údaje (heslo uložení, alias a heslo pro alias), které bude vyžadováno později.
Krok 2:Přidání souboru .keystore do projektu
Nejprve musíte zkopírovat soubor název_vašeho_klíče.keystore a vložte jej pod „android/app“ adresář ve vaší složce projektu React Native.
Z terminálu můžete použít následující příkaz
mv my-release-key.keystore /android/app
Nyní otevřete „android/app/build.gradle“ a přidejte následující konfiguraci úložiště klíčů.
android {
....
signingConfigs {
release {
storeFile file('your_key_name.keystore')
storePassword System.console().readLine("\nKeystore password:")
keyAlias System.console().readLine("\nAlias: ")
keyPassword System.console().readLine("\Alias password: ")
}
}
buildTypes {
release {
....
signingConfig signingConfigs.release
}
}
}
Díky tomu budete při spuštění příkazu apk build vyzváni k zadání hesel. Ujistěte se, že "signingConfigs" blok se objeví před "buildTypes" blokovat, aby se předešlo zbytečným chybám. Než budete pokračovat dále, ujistěte se, že máte složku aktiv pod „android/app/src/main/assets“ . Pokud tam není, vytvořte jej. Nyní jsme připraveni vygenerovat apk
Krok 3:Vygenerujte apk
Nejprve spusťte tento následující příkaz a sestavte balíček
react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/
Poznámka :Pokud máte jiný název vstupního souboru, například "index.android.js" , změňte jej v příkazu.
Nyní přejděte do „android“ složku s tímto příkazem
cd android
Poté spusťte následující příkaz a vygenerujte soubor apk
(pro Windows)
gradlew assembleRelease
(pro Linux nebo Mac)
./gradlew assembleRelease
NEBO spusťte tento jediný příkaz z root
npx react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/build/intermediates/res/merged/release/ && rm -rf android/app/src/main/res/drawable-* && rm -rf android/app/src/main/res/raw/* && cd android && ./gradlew assembleRelease && cd ..
Výsledkem je proces vytvoření souboru APK . Vygenerovaný soubor APK najdete na adrese "android/app/build/outputs/apk/app-release.apk" . Toto je skutečná aplikace, kterou můžete odeslat do telefonu nebo nahrát do obchodu Google Play. Gratulujeme, právě jste vygenerovali React Native Release Build APK pro Android.
Co bude DÁL?
1. Projekt s Pure React Native
2. Více o vývoji aplikací
3. Jak vygenerovat apk s čistým React Native
4. Jak nasadit do obchodu Play
5. Šílené věci s JavaScriptem/TypeScriptem
6. Psaní automatických testů pro jakýkoli server
7. Jak vytvořit Android APP bez XP s Expo
(včetně generování apk)
Máte nějaké pochybnosti?
Napište komentář nebo mě neváhejte kontaktovat @SilveLEAF na Twitteru nebo Linkedinu
Chceš o mně vědět víc? Pojď sem!
SilvenLEAF.github.io