React NativeをAndroid端末で試そうとしてハマったところ
ANDROID_HOMEが設定されていない
1 2 3 4 5 |
FAILURE: Build failed with an exception. * What went wrong: A problem occurred configuring project ':app'. > SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable. |
Android StudioでSDKを入れた場合した場合、通常は以下に配置されている
1 |
$ ~/Library/Android/sdk |
.bash_profileにANDROID_HOMEを追加する。
1 2 3 |
$ echo 'export ANDROID_HOME=~/Library/Android/sdk' >> ~/.bash_profile $ echo 'export PATH=$ANDROID_HOME/bin:$PATH' >> ~/.bash_profile $ echo 'export PATH=$ANDROID_HOME/platform-tools:$PATH' >> ~/.bash_profile |
再読込
1 |
$ source ~/.bash_profile |
ANDROID_HOMEが設定されたことを確認
1 2 |
$ echo $ANDROID_HOME $ echo $PATH |
ライセンス
1 2 3 4 5 6 7 8 |
FAILURE: Build failed with an exception. * What went wrong: A problem occurred configuring project ':app'. > You have not accepted the license agreements of the following SDK components: [Android SDK Platform 23, Android SDK Build-Tools 23.0.1]. Before building your project, you need to accept the license agreements and complete the installation of the missing components using the Android Studio SDK Manager. Alternatively, to learn how to transfer the license agreements from one workstation to another, go to http://d.android.com/r/studio-ui/export-licenses.html |
ライセンスに同意する必要がある
1 |
~/Library/Android/sdk/tools/bin |
まで移動して
1 |
./sdkmanager --licenses |
を実行する。
Unhandled JS Exception: Application odc has not been registered.
1 2 3 4 5 6 |
Unhandled JS Exception: Application odc has not been registered. Hint: This error often happens when you're running the packager (local dev server) from a wrong folder. For example you have multiple apps and the packager is still running for the app you were working on before. If this is the case, simply kill the old packager instance (e.g. close the packager terminal window) and start the packager in the correct app folder (e.g. cd into app folder and run 'npm start'). This error can also happen due to a require() error during initialization or failure to call AppRegistry.registerComponent. |
プロセスを確認してkillしてみる?
1 |
ps aux | grep react |
Could not connect to development server
Android端末をネットワークに繋いでなかった。。USB経由でよろしくやってはくれなさそう?
adb reverse error closed
Android 5.0以下だとadb reverseに対応していないため発生する問題のようです。Wifi接続する手段があるようなのでそれで対応。
https://stackoverflow.com/questions/31525431/getting-error-closed-twice-on-adb-reverse
- 開発マシンと開発端末を同じWi-Fiネットワークに接続する
- 開発マシンのIPアドレスを確認する
- react-native run-android を実行して開発端末でアプリを起動する
- アプリがエラー画面となるのでdismissを押下する
- 開発端末のメニューボタンを押下してDev Settingsを選択する
- Debug server host & port for dev で、IPアドレス:ポート番号を選択する
(IPアドレスは2.で確認した開発マシンのIP、ポートは特に変更していなければ8081)