3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Flutterで作ったAndroidをインストールしようとすると、INSTALL_FAILED_VERSION_DOWNGRADと出て元のアプリデータが引き継げない

Posted at

今既存のアプリをリニューアルする対応をしているのですが、
既存のアプリをインストールした状態でFlutterで作ったリニューアル版をインストールしようとすると
Failure [INSTALL_FAILED_VERSION_DOWNGRADE]
と表示され、元のアプリのデータが引き継げませんでした。
iOSの方は問題なく上書き、データの引継ぎはできているのに・・・。

元々の入ってるバージョンよりも低いバージョンになるよ!と言うエラーであることもわかっているのですが、
pubspec.yamlのバージョン指定も
version: 5.0.0+1
となっていて、問題なさそう。

build.gradleの指定も、

build.gradle
android {
(省略)
    defaultConfig {
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
    }
}

となっているし、バージョンを直接指定しても同じエラーが発生する。
コマンドで直接アプリをインストールしても変化なし。

※余談 コマンドの指定は
adb install -r <アプリのパス.apk>
ダウングレードを許容する場合には
adb install -r -d <アプリのパス.apk>
で行けます。

ダウングレードとエラーが出ている状態でも、
既存のアプリをアンインストールしてインストールすれば、
また上記コマンドを使用すれば、インストールできますが、
それだと、既存アプリのデータは引き継げず、全て消去されてしまいます。

万策尽きて、積んだ・・・!と思っておりましたが、
調べまくってとうとう鶴の一声を見つけて・・・!

INSTALL_FAILED_VERSION_DOWNGRADE
これは、エミュレータに既にインストールされているアプリと同じpackageNameのアプリをインストールしようとしているが、インストールしようとしているアプリのversionCodeが低い(バージョン番号の整数値)ことを意味します。

versionCodeだと・・・!?
既存アプリのversionCodeを確認すると、34・・・orz
こっちかーーーーーーーーーーーーーーい!
思わず叫びそうになりました。

pubspec.yamlのバージョン指定を
version: 5.0.0+35
にすることで、無事にINSTALL_FAILED_VERSION_DOWNGRADEのエラーはなくなり、無事に上書きインストール、データの引継ぎはできました^^

参考:https://stackoverflow.com/questions/13808599/android-emulator-installation-error-install-failed-version-downgrade

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?