arcanum_jp’s blog

おっさんの日記

メモ: flutter リリース時のversionName, versionCodeについて

久しぶりにGooglePlayからAPIバージョン対応してくれと連絡が来て対応。

API33に対応するよう設定を直しコンパイル。そしてリリースを作成・・・

 

あれ?pubspec.ymlに次のバージョンに設定してんだけどなぜ・・・

pubspec.ymlに設定してリリースコンパイルすると自動的にその値がlocal.propertiesに上書きされ設定されるはず・・・なぜ!

 

コンパイルすると値が上書きされてるのでこれでいいのだが・・・

おかしいなぁ・・・・
とbuild.gradleを見てるとこんなコードを発見。

あぁ、ここでversionCodeが設定されていないので自動的にデフォルトの10になっていたと・・・

versionCodeについて

 

versionNameをどんどん上げていけばいいのかな?と思ってましたが違うみたいね。versionCodeも上げていかないと行けないみたい

 

versionCodeってなんぞや?と見てるとpubspec.ymlのversionの+XXXの値みたい。

stackoverflow.com

 

これでやってみましたらOKでした

コンパイルしてみるとlocal.propertiesに自動的にpubspec.ymlの値が設定される

できたものをアップロードすると問題なく・・・

やったね!

 

versionName, versionCodeとは

versionNameがユーザに表示されるバージョン名。

これは前回リリースした際のversionName。10.0.0と表示されている

これに対してアプリの内部バージョンを示したものがversionCodeで数値で表されるがこれはユーザに表示されることはない。あぁあれか、楽観排他制御をversionフィールド(Long値)でやってるみたいな。

例えばユーザにはversion1.0.0として表示しててもバグ修正とかなんでversion1.0.0のままverionCodeを上げるって感じに使うのかな?