Что такое версия и код версии пакета Android и как они связаны? - PullRequest
19 голосов
/ 15 марта 2012

а) Что обозначает версия пакета Android и код версии?

b) В чем разница между версией пакета и кодом версии?

i) Предположим, у меня есть версия пакета 0.137, каккод версии относится к этому?Может код версии просто 137?

ii) Что произойдет, когда я выпущу пакетную версию 1.0 дальше?Могу ли я просто назвать код версии 10?

c) Как они связаны?Какой правильный способ нумерации версий комплекта?


NB Похоже, что нет источника, который объясняет разницу в поиске.Я до сих пор очень беспорядочно нумерую свои связки, но я хотел бы выяснить, как сделать это правильно.

Эти обозначения, по-видимому, относятся к Unity , но я не уверен, понимаю ли я, о каких параметрах даже с этой страницы ...

Ответы [ 3 ]

18 голосов
/ 16 марта 2012

Там нет "версия пакета".Это термин iOS / Mac.Встроенные приложения Android называются пакетами.

В Android есть два места, где указана версия: имя версии (android:versionName в манифесте) и код версии (android:versionCode).Они не должны быть согласованы, но на практике они обычно есть.Google Market использует код версии (а не имя), когда вы публикуете обновление, чтобы удостовериться, что ваше обновление позже того пакета, который опубликован в настоящее время.

Имя версии - это то, что видят конечные пользователи.Там нет ограничений на его формат;это строка с произвольным текстом, хотя подавляющее большинство приложений придерживаются шаблонов 1.2 или 1.2.3.

То, как вы называете название и код версии, зависит от вас.Вы можете использовать последовательные коды версий или использовать формулу major*10000 + minor*100 + build - это то, что Google делает со своими приложениями, так что v. 4.10.3 будет иметь код 41003.

14 голосов
/ 02 июня 2014

Unity имеет ответ на своей странице настроек игрока: http://docs.unity3d.com/Manual/class-PlayerSettings.html

  • Версия пакета: Указывает номер версии сборки пакета, который идентифицирует итерацию (выпущенную или невыпущенную) расслоение. Версия указана в общем формате строки содержит числа, разделенные точками (например, 4.3.2). (Это общий между iOS и Android.)

  • Код версии пакета: Внутренний номер версии. Этот номер используется только для определения того, является ли одна версия более поздней, чем другой, с более высокими числами, указывающими более свежие версии. Это не номер версии, показанный пользователям; это число устанавливается атрибут versionName. Значение должно быть задано как целое число, например «100». Вы можете определить его так, как вы хотите, до тех пор, пока каждый последующий версия имеет большее число. Например, это может быть номер сборки. Или вы можете перевести номер версии в формате «x.y» в целое число кодируя «x» и «y» отдельно в нижнем и верхнем 16 битах. Или вы можете просто увеличить число на единицу каждый раз, когда новая версия выпущен.

1 голос
/ 05 августа 2016

Это не касается непосредственно вопроса, но связано (и связано с ответом ArianJM).

Я пришел к этому вопросу в результате проблемы, с которой я только что загрузил новую версию в Amazon Appstore.

Содержание ссылочной страницы руководства Unity от ArianJM изменилось и (по крайней мере для версии 5.4) больше не содержит никакой информации о версии пакета или коде версии пакета.

В Unity 5.4:

Версия пакета теперь Версия . Это поле идентифицируется Amazon Appstore как Имя версии .

Код версии пакета по-прежнему Код версии пакета . Это поле идентифицируется Amazon Appstore как Код версии . В этом поле разрешены только цифры .

Я загружаю новую версию в Amazon Appstore, и хотя я обновил версию в Unity до версии 1.1, код версии пакета не был обновлен, и в результате Amazon Appstore отклонил его, поскольку он был тем же. как предыдущий Код Версии Пакета (Код Версии в Amazon Appstore).

С тех пор я обновил код версии пакета в Unity - но не смог обновить его до 1.1 или 1_1, потому что поле строго числовое - и вместо этого обновил его до 2.

Что, я считаю, подводит нас к одному кругу первоначального вопроса: Есть ли правильный способ нумерации версий комплекта?

Хотя произвольное изменение его на 2 в моем случае явно не является большой схемой - оно отличается от предыдущего и превышает его и поэтому работает.

Это не очень большой план, но отсутствие текущей документации Unity по этим полям - и похожие, но разные имена полей между Unity и Amazon Appstore, по-видимому, приводят к этим специальным решениям.

...