Macのgenymotion Androidエミュレーターで反応ネイティブアプリを実行しようとしています。 react-native run-Android
と書くと
Running /usr/local/opt/Android-sdk/platform-tools/adb reverse tcp:8081 tcp:8081
error: closed
Could not run adb reverse: Command failed: /usr/local/opt/Android-sdk/platform-tools/adb reverse tcp:8081 tcp:8081
Building and installing the app on the device (cd Android && ./gradlew installDebug...
Could not install the app on the device, read the error above for details.
Make sure you have an Android emulator running or a device connected and have
set up your Android development environment:
https://facebook.github.io/react-native/docs/Android-setup.html
MacBook-Pro-MacBook:ART-CarefulPeople macbook$
それから私は試しました:
react-native start
react-native run-Android
同じ結果。
それから私は試しました:
react-native bundle --entry-file index.Android.js --platform Android --bundle-output Android/app/src/main/assets/index.Android.bundle
curl "http://localhost:8081/index.Android.bundle?platform=Android" -o "Android/app/src/main/assets/index.Android.bundle"
react-native run-Android
同じ結果。
adb reverse tcp:8081 tcp:8081
を試してみましたが、error: closed
と表示されます
Android-sdkエミュレーターでアプリを実行しようとすると、上記と同じエラーが発生しますが、error: closed
はありません。
Androidスタジオからこのアプリを実行でき、genymotionで動作します。 Androidエミュレーターでアプリを実行するにはどうすればよいですか?
私は同様の問題を抱えていたので、この問題について非常に多くの時間と多くの検索を費やした後、唯一のトリックが私のために働いた:
Android SDK Tool
(最新バージョンに更新)Android SDK Platform-tools
(最新バージョンに更新)Android SDK Build-tools
(最新バージョンに更新)Extra
フォルダーの下のAndroid Support Repository
(最新バージョンに更新)Android API
図に示されているように、少なくともAndroid SDK Build-tools
およびAndroid SDK Platform-tools
バージョンと同じバージョンConfigure Required SDKs
をインストールする必要があります。注:React-nativeの公式ドキュメントでSDK要件としてリストされているサポートライブラリのローカルMavenリポジトリは、Android SDK Managerでリポジトリをサポートします。
Android studioから毎回、または物理デバイスでエミュレータを実行すると、同様の問題が発生しました。代わりに、コマンドラインからAndroidエミュレータをすばやく実行できます。
Android avd
エミュレータが実行されたら、adb devices
でエミュレータが表示されるかどうかを確認できます。次に、react-native run-Android
を使用して、エミュレータでアプリを実行します。
adb
を使用できるように、プラットフォームツールがインストールされていることを確認してください。または、使用できます
brew install Android-platform-tools
古いプロジェクトで実行されているパッケージャーのインスタンスがあったことが偶然に起こりました(通常どおりreact-native startを実行しました)。 buntu 14.04を使用していました。そのため、そのインスタンスを停止してプロジェクトフォルダーに移動し、2つの異なるコンソールタブでこれら2つのコマンドを別々に実行しました。
npm start #here I used to run react-native start
react-native run-Android
npm startはmy package.jsonで次のように定義されています:
"start": "node_modules/react-native/packager/packager.sh"
反応ネイティブの一種の混乱するものがあるかどうかはわかりませんが、それはトリックをしました。
同様の問題がありました。 GenymotionとAndroid SDKの/ libraries/dependenciesを更新しましたが、すべて機能しているようです。 SDKを更新するには、Android SDKマネージャー{Android_SDK_FOLDER}/tools/Android sdk
を使用しました
Windows 10およびAndroid Studioでは、Android Studioで[設定]の[ファイル]-> [設定]に移動し、[外観と動作]-> [システム設定]-> 「Android SDK」。 [SDKツール]タブがアクティブになっている場合:
すべてインストールされている場合は、Android Studioで[ツール]-> [Android]-> [AVD Manager]を使用してエミュレーターを起動できます。エミュレーターを実行する場合、「react-native run-Android」を試すことができます
私の場合、Android/gradlewファイルに実行権限がないため、これが発生していました。一度許可されると、これはうまくいきました
電話を振ってDev Setingsに移動してからデバイスのサーバーホストとポートをデバッグに接続し、PCのIPアドレスとポートを書き込みます。 例192.168.9.2:8081
それが最終的かつ最良のソリューションです。