React NativeでAndroid端末を変えたらビルドできなくなった
はじめに
React Nativeでアプリ開発をしていて、いつも検証に使用している端末ではない別の端末でビルドしようとしたら失敗しました。
キャッシュが残っているのだと思い調べて片っ端からキャッシュ削除のコマンドを叩いたのですが効果がありませんでした。
エラー
error Failed to install the app. Make sure you have the Android development environment set up: https://facebook.github.io/react-native/docs/getting-started.html#android-development-environment. Run CLI with --verbose flag for more details.
Error: Command failed: ./gradlew app:installDebug -PreactNativeDevServerPort=8080
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:installDebug'.
> com.android.builder.testing.api.DeviceException: com.android.ddmlib.AdbCommandRejectedException: device 'CB512B32M3' not found
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 4s
at checkExecSyncError (child_process.js:611:11)
at execFileSync (child_process.js:629:13)
at runOnAllDevices (/Users/harumi_sagawa/Documents/sample/githab/sample_mobile_sandbox/ReactNative/research_react_native_ble_manager/node_modules/@react-native-community/cli-platform-android/build/commands/runAndroid/runOnAllDevices.js:74:39)
at buildAndRun (/Users/harumi_sagawa/Documents/sample/githab/sample_mobile_sandbox/ReactNative/research_react_native_ble_manager/node_modules/@react-native-community/cli-platform-android/build/commands/runAndroid/index.js:158:41)
at then.result (/Users/harumi_sagawa/Documents/sample/githab/sample_mobile_sandbox/ReactNative/research_react_native_ble_manager/node_modules/@react-native-community/cli-platform-android/build/commands/runAndroid/index.js:125:12)
at process._tickCallback (internal/process/next_tick.js:68:7)
解決方法
正しい解決方法なのかは不明ですが、パソコンを再起動したところビルドするようになりました。
adb devicesコマンドで再起動前に接続しているデバイスを調べたところ、エラーで怒られているデバイスIDとは別のものが認識されていました。
原因はわかりませんが、どこかにキャッシュが残ってしまっていたものだと思います。キャッシュ削除のコマンドを色々試していたのにキャッシュが消えなかった原因は謎です。