1. ホーム
  2. アンドロイド

[解決済み】AndroidでJSバンドルの読み込みに失敗した。

2022-04-11 08:01:07

質問

Nexus5 (android 5.1.1)でAwesomeProjectを実行しようとしています。

プロジェクトをビルドして、デバイスにインストールすることができました。しかし、実行すると赤い画面が表示され、次のように表示されます。

JSバンドルをダウンロードできません。開発サーバーの起動や端末の接続を忘れていませんか?

react native iOSでは、jsbundleをオフラインで読み込むかどうかを選択することができます。Androidで同じことをするにはどうしたらいいですか?(少なくとも、サーバーアドレスはどこで設定できますか?)

更新情報

ローカルサーバーで実行する場合は、react-nativeプロジェクトのルートディレクトリで以下のコマンドを実行します。

  1. react-native start > /dev/null 2>&1 &
  2. adb reverse tcp:8081 tcp:8081

詳しくは、dsissitkaさんの回答をご覧ください。

サーバーなしで実行するには、jsfileをapkにバンドルして実行します。

  1. の下にassetsフォルダを作成します。 android/app/src/main
  2. curl "http://localhost:8081/index.android.bundle?platform=android" -o "android/app/src/main/assets/index.android.bundle"

詳しくは、kzzzfさんの回答をご覧ください。

解決方法は?

サーバーを起動したまま、JSファイルをapkにバンドルするには( react-native start ) アプリの assets ディレクトリに bundle をダウンロードします。

curl "http://localhost:8081/index.android.bundle?platform=android" -o "android/app/src/main/assets/index.android.bundle"

次のリリース (0.12) で、私たちは react-native bundle コマンドをアンドロイドプロジェクトで期待通りに動作するようにしました。