Help us understand the problem. What is going on with this article?

[Monaca] Androidのバージョンコードについて

More than 3 years have passed since last update.

AndroidアプリをGoogle Playに公開する際に、バージョンとバージョンコードが必要となります。
バージョンは、いわゆるアプリのバージョンです。
バージョンコードは、アプリ内部で管理するためのものになります。

Monacaでアプリを開発する際に、このバージョンコードで気をつけなければいけない点があります。

WebViewとCrosswalk

対象のCordovaバージョンは、5系です。
通常、このバージョンコードは、システム側で自動的に採番されますが、この採番方法がWebViewとCrosswalkでは異なります。

標準のWebViewを使用している場合は、バージョンが「1.22.33」の場合は「122338」となります。
末尾の「8」は、プロジェクトで使用しているSDKバージョン等により付加される数字になります。

次に、Crosswalkです。
上記のWebView版と同じようにバージョンを「1.22.33」にしてビルドしてみます。

タイプ バージョンコード
ARM 122332
x86 122334

ARMの場合は、末尾に「2」
x86の場合は、末尾に「4」

が、付加されます。
このように同じバージョンを設定しても、バージョンコードは、その時の状況により異なった値になります。

WebViewを使用しているアプリをGoogle Playに登録後、バージョンを変更しない状態でWebViewからCrosswalkに変更し、ビルドするとバージョンコードは、小さい値になってしまいます。
この状態でGoogle Playにアプリを更新しようとすると、バージョンコードが低いため、アプリを更新することはできません。
このように、バージョンコードの自動採番を利用している場合は、注意が必要です。

バージョンコードを手動で設定する

このバージョンコードは、手動で設定することもできます。
Monacaメニューの、

設定 - Androidアプリ設定 - バージョンコードを指定

にチェックをつけることにより、開発者側で管理することができます。
手動で設定したバージョンコードの末尾にもプロジェクトの環境により、上記のような数字が付加されます。

Cordova4系

Cordova4系でCrosswalkを使用していた場合は、Cordova5系とはバージョンコードの採番方法が異なります。
バージョン「1.22.33」の場合、Cordova4系でCrosswalkを使用していた場合のバージョンコードは、

タイプ バージョンコード
ARM 2000000 + 12233 + 末尾の数字
x86 7000000 + 12233 + 末尾の数字

となり、Cordova5系よりも大き数字になります。

Cordova4系+Crosswalkを使用したアプリをGoogle Playに公開後に、CrosswalkからWebViewに変更したり、プロジェクトをCordova5系にアップグレードした場合は、状況によってはバージョンコードが低くなってしまします。

Cordova4系の場合は、Monacaメニューの、

設定 - Androidアプリ設定 - バージョンコードを指定

の項目がありませんので、config.xmlファイルのandroid-versionCodeを直接修正する必要があります。

■記入例
<widget xmlns="http://www.w3.org/ns/widgets" id="com.example.helloworld" version="1.0.0" android-versionCode=“1”>

通常このバージョンコードの設定は、あまり意識しない部分になります。そのため、気がつきにくい箇所でもありますので、バージョンコードの問題が出た時には、この辺を参考にしてみてください。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away