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とは別のものが認識されていました。

原因はわかりませんが、どこかにキャッシュが残ってしまっていたものだと思います。キャッシュ削除のコマンドを色々試していたのにキャッシュが消えなかった原因は謎です。