23

a) Android バンドルのバージョンとバージョン コードは何を意味しますか?

b) バンドル バージョンとバージョン コードの違いは何ですか?

i) のバンドル バージョンがある0.137とします。バージョン コードはこれにどのように関係していますか? バージョンコードは 137 だけでよいでしょうか?

ii) 次にバンドル バージョンをリリースするとどうなり1.0ますか? バージョンコードを呼び出すことはできます10か?

c)それらはどのように関連していますか? バンドルのバージョンに番号を付ける正しい方法は何ですか?


NB検索では、違いを説明する情報源はないようです。私は今まで非常に無計画にバンドルに番号を付けていましたが、これを正しく行う方法を見つけたいと思います.

これらの指定はUnityに固有のもののようですが、そのページからでもパラメーターが何であるかを理解しているかどうかはわかりません...

4

3 に答える 3

25

「バンドル版」はありません。これは iOS/Mac 用語です。ビルドされた Android アプリはパッケージと呼ばれます。

Android には、バージョンを指定する場所が 2 つあります。バージョン名 (android:versionNameマニフェスト内) とバージョン コード ( android:versionCode) です。それらは相互に関連している必要はありませんが、実際には通常は相互に関連しています。Google マーケットでは、アップデートを公開するときにバージョン コード (名前ではない) を使用して、アップデートが現在公開されているパッケージよりも新しいものであることを確認します。

バージョン名は、エンド ユーザーに表示されるものです。その形式に制限はありません。アプリの大部分は 1.2 または 1.2.3 のパターンに固執していますが、これはフリーテキスト文字列です。

バージョン名とバージョン コードを関連付ける方法は、ユーザー次第です。連続したバージョン コードを使用することも、数式を使用することもできますmajor*10000 + minor*100 + build。これは、Google がアプリで行っていることで、v. 4.10.3 のコードは 41003 になります。

于 2012-03-16T17:20:04.727 に答える
16

アップデート

Unity Bundle Versionの新しいバージョンでは、 Versionは単にVersionになりました。バンドル バージョン コードはまだ存在します。これらの値に関するドキュメントは、Android Player 設定 (Android Player 設定 > その他の設定 > 識別) の Unity ドキュメントにあります: https://docs.unity3d.com/Manual/class-PlayerSettingsAndroid.html#Identification

  • バージョン: バンドルのイテレーション (リリース済みまたは未リリース) を識別するバンドルのビルド バージョン番号を入力します。バージョンは、ドットで区切られた数字を含む文字列の一般的な形式で指定されます (例: 4.3.2)。(iOS と Android 間で共有されます。)

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

    たとえば、ビルド番号などです。または、下位 16 ビットと上位 16 ビットで「x」と「y」を別々にエンコードすることで、「xy」形式のバージョン番号を整数に変換することもできます。または、新しいバージョンがリリースされるたびに番号を 1 ずつ増やすこともできます。

    ターゲット アーキテクチャごとに APK を分割するが有効になっている場合は、この数を 100000 未満に保ちます。各 APK には一意のバージョン コードが必要なので、Unity は ARMv7 の場合は番号に 100000 を追加し、ARM64 の場合は 200000 を追加します。

元の答え

Unity のプレーヤー設定マニュアルのページに回答があります: http://docs.unity3d.com/Manual/class-PlayerSettings.html (更新:このリンクには以下の情報は含まれていません):

  • バンドル バージョン: バンドルのイテレーション (リリース済みまたは未リリース) を識別する、バンドルのビルド バージョン番号を指定します。バージョンは、ドットで区切られた数字を含む文字列の一般的な形式で指定されます (例: 4.3.2)。(これは iOS と Android で共有されます。)

  • バンドル バージョン コード:内部のバージョン番号。この番号は、あるバージョンが別のバージョンよりも新しいかどうかを判断するためにのみ使用され、数字が大きいほど新しいバージョンを示します。これは、ユーザーに表示されるバージョン番号ではありません。その番号は versionName 属性によって設定されます。値は「100」などの整数として設定する必要があります。連続する各バージョンの番号が大きい限り、必要に応じて定義できます。たとえば、ビルド番号などです。または、下位 16 ビットと上位 16 ビットで「x」と「y」を別々にエンコードすることで、「xy」形式のバージョン番号を整数に変換することもできます。または、新しいバージョンがリリースされるたびに番号を 1 ずつ増やすこともできます。

于 2014-06-02T18:05:43.783 に答える
2

これは質問に直接対処するものではありませんが、関連しています(およびArianJMによる回答に関連しています)。

Amazon アプリストアに新しいバージョンをアップロードする際に問題が発生したため、この質問にたどり着きました。

参照されている ArianJM の Unity マニュアル ページの内容が変更され、(少なくともバージョン 5.4 では) バンドル バージョンまたはバンドル バージョン コードに関する情報が含まれなくなりました。

Unity 5.4 では:

Bundle Version はVersionになりました。このフィールドは、Amazon アプリストアではバージョン名として識別されます。

Bundle Version Code はBundle Version Codeのままです。このフィールドは、Amazon アプリストアではVersion codeとして識別されます。このフィールドには数字のみを使用できます

Amazon アプリストアに新しいバージョンをアップロード中です。Unity のバージョンを 1.1 に更新しましたが、バンドル バージョン コードが更新されず、以前と同じであったため、Amazon アプリストアによって拒否されました。バンドル バージョン コード (Amazon アプリストアのバージョン コード)。

その後、Unity でバンドル バージョン コードを更新しましたが、フィールドが厳密に数値であるため、1.1 または 1_1 に更新できませんでした。そのため、代わりに 2 に更新しました。

元の質問の一部に完全に戻ると思います: バンドルのバージョンに番号を付ける正しい方法はありますか?

私の場合、任意に 2 に変更することは明らかに大した計画ではありませんが、以前の数値とは異なり、それよりも大きいため、機能します。

大した計画ではありませんが、これらのフィールドに対処する Unity による最新のドキュメントが不足していること、および Unity と Amazon アプリストアのフィールド名が似ているが異なることが、これらのアドホックな決定につながっているようです。

于 2016-08-05T15:28:49.850 に答える