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 bundleBefehl überhaupt nicht zu verwenden, sondern einfach Ihre app/build.gradleDatei zu ändern .
Fügen Sie innerhalb der project.ext.reactKarte in der app/build.gradleDatei den bundleInDebug: trueEintrag hinzu. Wenn Sie möchten, dass es sich nicht um einen --devBuild handelt (keine Warnungen und minimiertes Bundle), sollten Sie den devDisabledInDebug: trueEintrag auch derselben Karte hinzufügen .
Mit reaktionsnativem Bundle
Wenn Sie aus irgendeinem Grund den react-native bundleBefehl zum Erstellen des Bundles und dann ./gradlew assembleDebugzum 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.jsfür das Bündel
und android/app/build/generated/res/react/debugfü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.gradleDatei in Ihrem node_modules/react-nativeVerzeichnis an. Die Zeilen beginnen mit def jsBundleDir =und def resourcesDir =geben die Verzeichnisse an, in denen gradle nach dem Bundle bzw. den Assets sucht.