概要
react-native
で開発をしていると割と遭遇する事象なので備忘として。
何が起きたか
例えば、製品に何らかのバグが発生したとの報告を受けたので、とりあえずGit
から製品版のソース(以下product
)を取得してきて再現させた場合を想定。
git checkout product
react-native run-android
バグが再現されることを確認したので、ブランチ(以下xx-hogehoge
)を切ってそちらで作業することにした。
git checkout xx-hogehoge
react-native run-android
ここで下記のエラーが発生。
* What went wrong:
Execution failed for task ':app:installDebug'.
> com.android.builder.testing.api.DeviceException: com.android.ddmlib.InstallException: INSTALL_FAILED_VERSION_DOWNGRADE
なんだかよく分からないエラーがズラーっと表示されてビルドが通らない。
INSTALL_FAILED_VERSION_DOWNGRADEとは
もうそのまんまの原因なのだが、今まさにインストールしようとしているアプリのバージョンが、
端末にインストールされているアプリのバージョンよりも古いため**「ダウングレードはできない」**と怒られている状態です。
GitLab CI/CD
を使ってproduct
に何らかのコミットが適用される度にバージョンをインクリメントするような運用を取っており、product > xx-hogehoge
というバージョン関係になっているため発生した次第でした。
※そもそもproduct
をローカルでがちゃがちゃ動かすのがあまり良くはないですね・・・