反応ネイティブ0.57以降、gradleがバンドルとアセットを見つけることを期待しているディレクトリが変更されたため、以前に提供された回答はどれも機能しなくなりました。
反応ネイティブバンドルなしのシンプルな方法
デバッグビルドをビルドする最も簡単な方法は、react-native bundleコマンドをまったく使用せずに、単にapp/build.gradleファイルを変更することです。
ファイル内のproject.ext.reactマップ内app/build.gradleに、bundleInDebug: trueエントリを追加します。あなたはそれがないようにしたい場合は--dev、ビルド(警告なしと縮小さバンドル)その後も追加する必要がありdevDisabledInDebug: true、同じマップにエントリを。
反応ネイティブバンドルを使用
何らかの理由でreact-native bundleコマンドを使用してバンドルを作成する必要がある場合、またはを使用./gradlew assembleDebugしてバンドルとアセットを含むAPKを作成する場合は、バンドルとアセットを正しいパスに配置する必要があります。それらを見つけます。
反応ネイティブ0.57以降、これらのパスは
android/app/build/generated/assets/react/debug/index.android.jsバンドル用です
そしてandroid/app/build/generated/res/react/debug資産のために。したがって、手動でバンドルして、バンドルとアセットでAPKをビルドするための完全なコマンドは次のとおりです。
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
その後
./gradlew assembleDebug
バンドルとアセットのパス
Gradleがバンドルとアセットを探すパスは変更される可能性があることに注意してください。これらのパスの場所を確認するには、ディレクトリreact.gradle内のファイルを確認してくださいnode_modules/react-native。で始まる行とdef jsBundleDir =、def resourcesDir =gradleがバンドルとアセットをそれぞれ探すディレクトリを指定します。