Ab reaktionsnativ 0,57 funktioniert keine der zuvor bereitgestellten Antworten mehr, da sich die Verzeichnisse, in denen gradle erwartet, das Bundle und die Assets zu finden, geändert haben.
Einfacher Weg ohne reaktionsnatives Bundle
Der einfachste Weg, einen Debug-Build zu erstellen, besteht darin, den react-native bundle
Befehl überhaupt nicht zu verwenden, sondern einfach Ihre app/build.gradle
Datei zu ändern .
Fügen Sie innerhalb der project.ext.react
Karte in der app/build.gradle
Datei den bundleInDebug: true
Eintrag hinzu. Wenn Sie möchten, dass es sich nicht um einen --dev
Build handelt (keine Warnungen und minimiertes Bundle), sollten Sie den devDisabledInDebug: true
Eintrag auch derselben Karte hinzufügen .
Mit reaktionsnativem Bundle
Wenn Sie aus irgendeinem Grund den react-native bundle
Befehl zum Erstellen des Bundles und dann ./gradlew assembleDebug
zum Erstellen der APK mit dem Bundle und den Assets verwenden müssen oder möchten, müssen Sie sicherstellen, dass das Bundle und die Assets in den richtigen Pfaden platziert werden, wo gradle dies kann finde sie.
Ab reaktionsnativ 0,57 sind diese Pfade
android/app/build/generated/assets/react/debug/index.android.js
für das Bündel
und android/app/build/generated/res/react/debug
für die Vermögenswerte. Die vollständigen Befehle zum manuellen Bündeln und Erstellen der APK mit dem Bundle und den Assets lauten also:
react-native bundle --dev false --platform android --entry-file index.js --bundle-output ./android/app/build/generated/assets/react/debug/index.android.bundle --assets-dest ./android/app/build/res/react/debug
und dann
./gradlew assembleDebug
Bundle- und Assets-Pfad
Beachten Sie, dass sich die Pfade, in denen gradle nach dem Bundle und den Assets sucht, möglicherweise ändern. Um herauszufinden, wo sich diese Pfade befinden, sehen Sie sich die react.gradle
Datei in Ihrem node_modules/react-native
Verzeichnis an. Die Zeilen beginnen mit def jsBundleDir =
und def resourcesDir =
geben die Verzeichnisse an, in denen gradle nach dem Bundle bzw. den Assets sucht.