Androidコードマーケットにバージョンコード= 2、バージョン名= 1.1のアプリがありました
しかし、今日それを更新しているときに、マニフェストのバージョンコード= 3を変更しましたが、誤ってバージョン名を1.0.1に変更して、apkを市場にアップロードしました。
さて、私のアプリのユーザーはスマートフォンで更新通知を受け取りますか?または、プロセスをやり直す必要がありますか?
Androidコードマーケットにバージョンコード= 2、バージョン名= 1.1のアプリがありました
しかし、今日それを更新しているときに、マニフェストのバージョンコード= 3を変更しましたが、誤ってバージョン名を1.0.1に変更して、apkを市場にアップロードしました。
さて、私のアプリのユーザーはスマートフォンで更新通知を受け取りますか?または、プロセスをやり直す必要がありますか?
回答:
内部バージョン番号。この番号は、あるバージョンが別のバージョンよりも新しいかどうかを判断するためにのみ使用され、数値が大きいほど、より新しいバージョンを示します。これはユーザーに表示されるバージョン番号ではありません。その番号は、versionName属性によって設定されます。値は、「100」などの整数として設定する必要があります。後続の各バージョンの番号が大きい限り、好きなように定義できます。[...]
ユーザーに表示されるバージョン名。この属性は、生の文字列または文字列リソースへの参照として設定できます。文字列には、ユーザーに表示する以外の目的はありません。versionCode属性は、内部で使用される重要なバージョン番号を保持します。
versionNameがユーザーに表示されるものであることは明らかで、versionCodeが重要です。それを増やし続けるだけで、すべてが良いはずです。
手順を逆にする必要はありません。VersionCodeを増やすと、アプリケーションがすでにアップグレードされたことを意味します。VersionNameは、ユーザーが読みやすいようにユーザーに提示される単なる文字列です。Google Playは、VersionNameに応じて何もしません。
バージョンコードは、新しい更新のためにGoogle Playストアで使用されます。また、バージョン名がユーザーに表示されます。バージョンコードを増やした場合、更新はすべてのユーザーに表示されます。
詳細については、この記事を2分間読んでください。https://developer.android.com/studio/publish/versioning.html
この件について私が見つけることができる唯一の文書の私の解釈をあなたに与えます。
「たとえば、アップグレードまたはダウングレードの関係を確認します。」<-アプリをダウングレードできます。
「アプリケーションの後続の各リリースがより大きな値を使用することを確認する必要があります。システムはこの動作を強制しません」<-数値は実際に増加するはずですが、それでもアプリをダウングレードできます。
android:versionCode —他のバージョンと比較した、アプリケーションコードのバージョンを表す整数値。この値は整数なので、他のアプリケーションがプログラムで評価して、たとえばアップグレードまたはダウングレードの関係を確認できます。値は任意の整数に設定できますが、アプリケーションの後続のリリースごとに、より大きい値を使用する必要があります。システムはこの動作を強制しませんが、連続リリースで値を増やすことは規範的です。通常、versionCodeを1に設定してアプリケーションの最初のバージョンをリリースし、リリースがメジャーリリースかマイナーリリースかを問わず、リリースごとに値を単調に増やします。これは、アンドロイドが:versionCodeの値は、ユーザーに表示されるアプリケーションのリリースバージョンと必ずしも似ているわけではありません(下記のandroid:versionNameを参照)。アプリケーションおよび公開サービスは、このバージョンの値をユーザーに表示しないでください。
android:versionCode —他のバージョンと比較した、アプリケーションコードのバージョンを表す整数値。
値は整数なので、他のアプリケーションがプログラムで評価することができます。たとえば、アップグレードまたはダウングレードの関係を確認できます。値は任意の整数に設定できますが、アプリケーションの後続のリリースごとにより大きい値を使用するようにしてください。システムはこの動作を強制しませんが、連続リリースで値を増やすことは規範的です。
android:versionName —ユーザーに表示する必要がある、アプリケーションコードのリリースバージョンを表すstring値。
値は文字列なので、アプリケーションのバージョンを..文字列として、または他のタイプの絶対または相対バージョン識別子として記述できます。
android:versionCodeと同様に、システムはこの値を、アプリケーションがユーザーに表示できるようにすることを除いて、内部的な目的で使用しません。公開サービスは、android:versionName値を抽出してユーザーに表示することもできます。
通常、アプリケーションの最初のバージョンをリリースするには、versionCodeを1に設定し、リリースがメジャーリリースかマイナーリリースかを問わず、リリースごとに値を単調に増やします。これは、android:versionCodeの値が、ユーザーに表示されるアプリケーションのリリースバージョンと必ずしも似ているわけではないことを意味します(下記のandroid:versionNameを参照)。アプリケーションと公開サービスは、このバージョンの値をユーザーに表示しないでください。
バージョンコード -他のバージョンコードとの比較に使用される正の整数です。これはユーザーには表示されず、ある意味で記録を維持するためだけのものです。任意の整数に設定できますが、連続するバージョンでは線形に増分することをお勧めします。
バージョン名 -これは、ユーザーに表示されるバージョン文字列です。これは、内部比較などには使用されません。ユーザーが見るためだけのものです。
例:アプリをリリースするとします。最初のversionCodeが1で、versionNameも1であるとします。アプリに小さな変更を加えて更新を公開したい場合、versionNameを "1.1"に設定します(変更後はメジャーではありません)論理的には、versionCodeは2(変更のサイズに関係なく)でなければなりません。
アプリの完全に改良されたバージョンをリリースする別の条件で、versionCodeとversionNameを「2」に設定するとします。
お役に立てば幸いです。
バージョン番号MAJOR.MINOR.PATCHを指定して、次の値を増やします。
ご存知かもしれませんが、Androidでは、アプリの2つのバージョンフィールドを定義する必要があります。バージョンコード(android:versionCode)とバージョン名(android:versionName)です。バージョンコードは、アプリケーションコードのバージョンを表す増分整数値です。バージョン名は、ユーザーに表示される「わかりやすい」バージョン名を表す文字列値です。
タノーからの回答は、いくつかの説明を使用することができます。VersionCodeはビルド番号に相当します。そのため、通常、アプリはリリース前に何度も繰り返されます。これらのイテレーションのいくつかは、アルファ、ベータ、および実際のリリースの形でGoogle Playストアに到達する可能性があります。連続する反復ごとに、増分されたversionCodeが必要です。ただし、通常、バージョン名を増やすのは、公開リリース間でのみです。どちらの数値も重要です。ユーザーは、自分の電話のバージョンが最新かどうか(versionName)かどうかを知る必要があり、ビットストアなどのPlayストアとCIシステムは、ビルド番号(versionCode)に依存または更新します。