React-NativeをAndroid V4.2.2 (Genymotion)
で動作させようとしていますが、エミュレータでアプリをテストできません。 react-native run-Android
を実行すると、このエラーが発生しますCould not run adb reverse: spawnSync
ここにログがあります
JS server already running.
Running /User/Pan/Library/Android/sdk/platform-tools/adb reverse tcp:8081 tcp:8081
Could not run adb reverse: spawnSync /User/Pan/Library/Android/sdk/platform-tools/adb ENOENT
Building and installing the app on the device (cd Android && ./gradlew installDebug...
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring project ':app'.
> The SDK directory '/User/Pan/Library/Android/sdk' does not exist.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 3.785 secs
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
注:ログには、SDKディレクトリが存在しないと書かれていますが、SDKがそのディレクトリにインストールされていることを再確認しています。
adb devices
の実行時にAndroidエミュレーターが見つかりました
List of devices attached
192.168.56.101:5555 device
Stack Overflow投稿から次の手順を試しましたが、まだ運がありません https://stackoverflow.com/a/38536290/4540216
同じ問題が発生しました。 Android_HOME env変数を更新しました。
これに従ってください React-native Android-setup documentation
例:
export Android_HOME=~/Library/Android/sdk
編集:更新されたドキュメントリンク
私も同じ問題を抱えています。そして、同じコマンドでもう一度Android_HOME env変数を更新しましたが、うまくいきました。
> export Android_HOME=~/Android/Sdk
> export PATH=$PATH:$Android_HOME/tools:$Android_HOME/platform-tools
がんばろう
最初に、このように.bash_profileにパスを設定しました
export PATH="~/Library/Android/sdk/platform-tools":$PATH
export Android_HOME="~/Library/Android/sdk/platform-tools"
しかし、それは私の問題を解決しません。
私にとっては、次のnpmスクリプトをpackage.jsonの下にscriptの下に追加することで、Macのタグのように機能しました。
"Android-dev": "adb reverse tcp:8081 tcp:8081 && react-native run-Android"
それから私は単に実行していますnpm run Android-dev
そしてすべて設定されています。アプリの設定でライブリロードが既に有効になっていることを確認してください。この方法で、モバイルの開発サーバーで作業し、アプリですぐにコーディングの変更を確認できます。