web-dev-qa-db-ja.com

AndroidマニフェストのversionCodeとversionName

Androidマーケットにバージョンコード= 2、バージョン名= 1.1のアプリがありました

ただし、今日更新する際に、マニフェストのバージョンコード= 3を変更しましたが、誤ってバージョン名を1.0.1に変更し、apkを市場にアップロードしました。

さて、私のアプリのユーザーは携帯電話で更新通知を受け取るかどうかを教えてください。または、プロセスを再度やり直す必要がありますか?

196
user838522

参照リンク

Android:versionCode

内部バージョン番号。この番号は、あるバージョンが別のバージョンよりも新しいかどうかを判断するためにのみ使用され、数字が大きいほど新しいバージョンを示します。これはユーザーに表示されるバージョン番号ではありません。その番号はversionName属性によって設定されます。値は、「100」などの整数として設定する必要があります。連続する各バージョンの数字が大きい限り、必要に応じて定義できます。 [...]

Android:versionName

ユーザーに表示されるバージョン名。この属性は、生の文字列または文字列リソースへの参照として設定できます。文字列には、ユーザーに表示する以外の目的はありません。 versionCode属性は、内部で使用される重要なバージョン番号を保持します。

VersionNameがユーザーに表示されるものであることが非常に明確であることを読んで、versionCodeが重要です。増やし続けるだけで、すべてがうまくいくはずです。

546
Tanoh

手順を逆にする必要はありません。 VersionCodeを増やしたということは、アプリケーションがすでにアップグレードされていることを意味します。 VersionNameは、ユーザーが読みやすいようにユーザーに提示される単なる文字列です。 Google PlayはVersionNameに応じてアクションを実行しません。

24
user2517419

このテーマで見つけることができる唯一のドキュメントの解釈をお伝えします。

「たとえば、アップグレードまたはダウングレードの関係を確認するため。」 <-アプリをダウングレードできます。

「アプリケーションの連続する各リリースがより大きな値を使用することを確認する必要があります。システムはこの動作を強制しません」.

Android:versionCode —他のバージョンと比較したアプリケーションコードのバージョンを表す整数値。この値は整数であるため、他のアプリケーションはプログラムで評価できます。たとえば、アップグレードまたはダウングレードの関係をチェックします。値は任意の整数に設定できますが、アプリケーションの連続する各リリースがより大きな値を使用することを確認する必要があります。システムはこの動作を強制しませんが、連続したリリースで値を増やすことは規範的です。通常、versionCodeを1に設定してアプリケーションの最初のバージョンをリリースし、リリースがメジャーリリースかマイナーリリースかに関係なく、リリースごとに値を単調に増やします。これは、Android:versionCodeの値が、ユーザーに表示されるアプリケーションのリリースバージョンと必ずしも類似していないことを意味します(以下のAndroid:versionNameを参照)。アプリケーションと公開サービスでは、このバージョン値をユーザーに表示しないでください。

6
braden

Android:versionCode —他のバージョンと比較したアプリケーションコードのバージョンを表す整数値。

この値は整数であるため、他のアプリケーションはプログラムで評価できます。たとえば、アップグレードまたはダウングレードの関係をチェックします。値は任意の整数に設定できますが、アプリケーションの連続する各リリースがより大きな値を使用することを確認する必要があります。システムはこの動作を強制しませんが、連続したリリースで値を増やすことは規範的です。

Android:versionName —ユーザーに表示されるアプリケーションコードのリリースバージョンを表す文字列値。

値は文字列であるため、アプリケーションバージョンを..文字列として、またはその他の種類の絶対または相対バージョン識別子として記述することができます。

Android:versionCodeの場合と同様、システムはこの値を、アプリケーションがユーザーに表示できるようにすること以外の内部目的には使用しません。公開サービスは、ユーザーに表示するためにAndroid:versionName値を抽出することもあります。

通常、versionCodeを1に設定してアプリケーションの最初のバージョンをリリースし、リリースがメジャーリリースかマイナーリリースかに関係なく、リリースごとに値を単調に増やします。これは、Android:versionCodeの値が、ユーザーに表示されるアプリケーションのリリースバージョンと必ずしも類似していないことを意味します(以下のAndroid:versionNameを参照)。アプリケーションと公開サービスでは、このバージョン値をユーザーに表示しないでください。

バージョンコードは、Google Playストアで新しい更新に使用されます。そして、バージョン名がユーザーに表示されます。バージョンコードを増やした場合、更新はすべてのユーザーに表示されます。

詳細については、この記事を2分間お読みください https://developer.Android.com/studio/publish/versioning.html

5
dev.sourabh

実際、versionNameではなくversionCodeに基づいています。ただし、AndroidManifest.xmlのversionCodeを変更するだけでは、Android Studio-Gradleビルドシステムでは不十分であることに気付きました。 build.gradleで変更する必要がありました。

5
Chaitanya

バージョンコードコードのバージョンを表します。AndroidOSは、このコードが古いか新しいかにかかわらず、この変数を使用して更新をチェックします。

バージョン名バージョン名をフォーマットで表します-

(メジャー)。(マイナー)。(ポイント)

文字列は、読み取り可能な文字列のみに使用され、機能的にはバージョンコードがOSによって使用されています。

4
Rahul Jain

バージョンコード-他のバージョンコードとの比較に使用される正の整数です。ユーザーには表示されません。ある意味での記録保持のためだけです。任意の整数に設定できますが、連続するバージョンでは線形に増分することをお勧めします。

バージョン名-これはユーザーに表示されるバージョン文字列です。内部比較などには使用されず、ユーザーに表示されるだけです。

:アプリをリリースすると、最初のversionCodeは1で、versionNameも1になります。アプリに小さな変更を加えて更新を公開する場合は、 versionNameを「1.1」に設定します(変更はメジャーではないため)が、論理的にはversionCodeは2(変更のサイズに関係なく)でなければなりません。アプリの完全に改良されたバージョンをリリースする別の条件では、versionCodeとversionNameを「2」に設定できます。お役に立てば幸いです。

詳細についてはこちらをご覧ください こちら

2
krishnakeshan