63

Macのgenymotion Androidエミュレーターでreact-nativeアプリを実行しようとしています。私が書く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$ 

それから私は試しました:

  1. react-native start
  2. react-native run-android

同じ結果です。

それから私は試しました:

  1. react-native bundle --entry-file index.android.js --platform android --bundle-output android/app/src/main/assets/index.android.bundle

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

  3. react-native run-android

同じ結果です。

私はちょうど試してみましたがadb reverse tcp:8081 tcp:8081、それは言うerror: closed

android-sdk エミュレーターでアプリを実行しようとすると、上記と同じエラーが発生しますが、error: closed.

Androidスタジオからこのアプリを実行でき、genymotionで動作します。Androidエミュレーターでアプリを実行するにはどうすればよいですか?

4

13 に答える 13

56

私は同様の問題を抱えていました.この問題について多くの時間を費やし、多くの検索を行った後、唯一のトリックがうまくいきました:

  1. この図に示すように、必要な SDK をインストールしてください

Configure Required SDKs 必要な SDK を構成する

  1. すでにインストールされている場合は、次の SDK を更新する必要があります。
    • Android SDK Tool(最新版にアップデートしてください)
    • Android SDK Platform-tools(最新版にアップデートしてください)
    • Android SDK Build-tools(最新版にアップデートしてください)
    • Android Support Repositoryフォルダの下Extra(最新バージョンに更新してください)
  2. 上の図に示すように、少なくともインストールされているバージョンと同じバージョンをインストールしている必要がありAndroid APIます。Android SDK Build-toolsAndroid SDK Platform-toolsConfigure Required SDKs

注: React-native の公式ドキュメントで SDK 要件としてリストされているサポート ライブラリのローカル Maven リポジトリは、SDK Manager で Android サポート リポジトリと呼ばれるようになりました。

于 2016-08-10T10:16:51.737 に答える
20

React Native (Mac OS Big SUR 上)

私はここで立ち往生しました。しかし、Android studio の環境設定を更新するとうまくいきました。

nano ~/.zshrc

貼り付け

export ANDROID_SDK_ROOT=$HOME/Library/Android/sdk
export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/emulator:$PATH
export PATH=$PATH:$ANDROID_HOME/tools:$PATH
export PATH=$PATH:$ANDROID_HOME/tools/bin:$PATH
export PATH=$PATH:$ANDROID_HOME/platform-tools:$PATH
export JAVA_HOME=$(/usr/libexec/java_home)

control + o保存entercontrol + xて終了

次に source ~/.zshrc、コンパイルします

実行中の端末を強制終了して実行します npx react-native run-android

于 2021-06-24T06:11:11.833 に答える
10

「doctor」コマンドを使用することもできます。ほとんどのケースを修正します。

npx @react-native-community/cli doctor
于 2020-07-27T10:36:24.607 に答える
4

たまたま、古いプロジェクトで実行されているパッケージャーのインスタンスがありました (いつものようにreact-native startを実行しました)。Ubuntu 14.04を使用していました。そのため、そのインスタンスを停止してプロジェクト フォルダーに移動し、2 つの異なるコンソール タブで次の 2 つのコマンドを別々に実行しました。

npm start #here I used to run react-native start
react-native run-android

npm start は、package.jsonで次のように定義されています。

"start": "node_modules/react-native/packager/packager.sh"

反応ネイティブにある種の紛らわしいものがあるかどうかはわかりませんが、それでうまくいきました。

于 2016-09-17T04:03:23.923 に答える
2

同様の問題がありました。Genymotion と Android SDK の /libraries/dependencies を更新しましたが、すべて動作しているように見えました。SDK を更新するために、Android SDK マネージャーを使用しました{ANDROID_SDK_FOLDER}/tools/android sdk

于 2016-07-29T17:32:43.950 に答える
2

エミュレーターがインストールされていない場合は、このコマンドを試してください (homebrew がインストールされている場合)。

brew install android-platform-tools

役立つかもしれません。

于 2021-03-25T09:48:03.933 に答える
0

私の場合、android/gradlew ファイルに実行権限がなかったため、これが発生していました。付与されると、これは正常に機能しました

于 2019-04-29T03:08:41.850 に答える