- How to get the versionCode and versionName of your app
- EnvyAndroid
- EnvyAndroid
- versionCode
- versionName
- Accessing it
- Как получить номер сборки/версии вашего приложения для Android?
- ОТВЕТЫ
- Ответ 1
- Ответ 2
- Ответ 3
- Ответ 4
- Ответ 5
- Использование Gradle и BuildConfig
- Получение VERSION_NAME из BuildConfig
- Возвращает ли пустая строка для VERSION_NAME?
- Удаление versionName и versionCode из AndroidManifest.xml
- Ответ 6
- Ответ 7
- Ответ 8
- Ответ 9
- Ответ 10
- Ответ 11
- Ответ 12
- Ответ 13
- Ответ 14
- Ответ 15
- Ответ 16
- Ответ 17
- Ответ 18
- Ответ 19
- Нет, вам не нужно ничего делать с AndroidManifest.xml
- Ответ 20
- Ответ 21
- Ответ 22
- List of Android version names
- Содержание
- Cupcake
- Donut
- Eclair
- Froyo
- Gingerbread
- Honeycomb
- Ice Cream Sandwich
- Jelly Bean
- KitKat
- Lollipop
- Marshmallow
- Nougat
- Android 10
- Android get android version name
How to get the versionCode and versionName of your app
EnvyAndroid
Read more posts by this author.
EnvyAndroid
In you AndroidManifest.xml file, you can specify the values of android:versionCode and android:versionName .
versionCode
The versionCode is integer value used to easily differentiate between app versions.
App developers must increment this value when they release updates to their apps in Android Market, so it can determine if users are using an old version of the app, and offer them to update it.
versionName
The versionName is a string containing a regular “release version” as seen in other desktop applications, such as “1.4.5” or “3.7”.
The versionName is just a “human readable” version code.
Accessing it
Here is how you can access these values in your application code:
This way, you can check which version of your app is being used, if you need to do something spesific with that information. Or you can make a small method that checks for new updates to the app.
You can also access other useful resources this way, for example: packageName and requestedPermissions.
More on android app versioning here, and AndroidManifest i explained in depth here.
Источник
Как получить номер сборки/версии вашего приложения для Android?
Мне нужно выяснить, как получить или сделать номер сборки для моего приложения Android. Мне нужно, чтобы номер сборки отображался в пользовательском интерфейсе.
Нужно ли что-то делать с AndroidManifest.xml ?
ОТВЕТЫ
Ответ 1
И вы можете получить код версии с помощью этого
Ответ 2
Если вы используете плагин Gradle/Android Studio, от версии 0.7.0, код версии и имя версии доступны статически в BuildConfig , Убедитесь, что вы импортируете пакет приложений, а не другой BuildConfig :
Не требуется контекстный объект!
Также не забудьте указать их в файле build.gradle вместо AndroidManifest.xml .
Ответ 3
Немного короче, если вам просто нужно имя версии.
Ответ 4
Есть две части, которые вам нужны: Android: версия Код Android: версия Имя
versionCode — это число, и каждая версия приложения, которую вы отправляете в Маркет, должна иметь больший номер, чем последняя.
VersionName — это строка, которая может быть любой, какой вы хотите. Здесь вы определяете свое приложение как «1.0», «2.5» или «2 Alpha EXTREME!» или что угодно.
Ответ 5
Использование Gradle и BuildConfig
Получение VERSION_NAME из BuildConfig
Да, теперь это легко.
Возвращает ли пустая строка для VERSION_NAME?
Если вы получаете пустую строку для BuildConfig.VERSION_NAME , то читайте дальше.
Я продолжал получать пустую строку для BuildConfig.VERSION_NAME , потому что я не устанавливал versionName в файле сборки Grade (я перенес из ANT в Gradle). Итак, вот инструкции по обеспечению установки VERSION_NAME с помощью Gradle.
build.gradle
Примечание: это от мастерски Jake Wharton.
Удаление versionName и versionCode из AndroidManifest.xml
И поскольку теперь вы установили versionName и versionCode в файл build.gradle , вы также можете удалить их из своего файла AndroidManifest.xml , если они есть.
Ответ 6
Я не вижу необходимости получать его от менеджера пакетов
Ответ 7
Вот чистое решение, основанное на решении scottyab (отредактированное Xavi). Он показывает, как сначала получить контекст, если он не предоставлен вашим методом. Кроме того, он использует несколько строк вместо вызова нескольких методов на строку. Это облегчает вам задачу отладки вашего приложения.
Теперь, когда вы получили имя версии в String myVersionName , вы можете установить его в TextView или все, что вам нравится.
Ответ 8
Используйте класс BuildConfig
Ответ 9
Если вы используете PhoneGap, создайте собственный плагин PhoneGap:
Создайте новый класс в своем приложении:
В plugins.xml добавьте следующую строку:
В deviceready event добавьте следующий код:
Затем вы можете получить атрибут versionName, выполнив:
Ответ 10
Очень простой способ:
Ответ 11
Вот простой способ получить название версии и код версии
Ответ 12
Для пользователей xamarin используйте этот код, чтобы получить имя и код версии
1) Название версии:
Ответ 13
Получить код сборки, который используется для идентификации apk по его коду версии. Код версии используется для определения фактической конфигурации сборки во время обновления базы данных, публикации и т.д.
int versionCode = BuildConfig.VERSION_CODE;
Имя версии используется для ознакомления пользователей с разработчиками последовательности Developmemt. Вы можете добавить любое название версии по своему желанию.
String versionName = BuildConfig.VERSION_NAME;
Ответ 14
Если вы хотите использовать его в xml, добавьте строку ниже в файл gradle:
И затем используйте его на вашем xml следующим образом:
Ответ 15
Всегда делайте это с блоком try catch :
Ответ 16
Вот способ получения кода версии:
Ответ 17
У меня есть SOLVE this, используя класс предпочтений.
Ответ 18
Есть несколько способов получить versionCode и versionName программно.
- Получить версию из PackageManager . Это лучший способ для большинства случаев.
- Получите его из сгенерированного BuildConfig.java . Но обратите внимание, что если вы получите доступ к этим значениям в библиотеке, она вернет версию библиотеки, а не приложения, использующие эту библиотеку. Так что используйте только в небиблиотечных проектах!
Есть некоторые детали, кроме использования второго способа в проекте библиотеки. В новом плагине Android Gradle (3.0. 0+) некоторые функциональные возможности удалены. Итак, на данный момент, т.е. установка разных версий для разных вкусов работает некорректно.
Код выше будет правильно установить значение в BuildConfig , но от PackageManager вы получите 0 и null , если вы не установили версию в по default конфигурации. Таким образом, ваше приложение будет иметь код 0 версии на устройстве.
Существует обходной путь — установите версию для выходного файла apk вручную:
Ответ 19
Нет, вам не нужно ничего делать с AndroidManifest.xml
Как правило, название и код версии вашего приложения находятся в файле gradle уровня приложения под тегом defaultConfig:
Примечание. Если вы хотите загрузить приложение в PlayStore, можно указать любое имя в качестве имени версии, но код версии должен отличаться от кода текущей версии, если это приложение уже находится в Play Store.
Просто используйте следующий фрагмент кода, чтобы получить код версии и название версии из любой точки вашего приложения:
Ответ 20
для Api 28 PackageInfo.versionCode устарел, поэтому используйте следующий код:
Ответ 21
Этот код упоминался выше, но здесь он снова включен. Вам нужен блок try/catch, потому что он может вызывать «NameNotFoundException».
Надеюсь, это упростит для кого-то дорогу.:)
Ответ 22
Кому-то, кому нужна информация о BuildConfig для пользовательского интерфейса приложения, однако, хочет использовать эту информацию для настройки конфигурации задания CI или других, таких как я.
В вашем каталоге проектов автоматически создается файл BuildConfig.java, пока вы успешно строите проект.
Разделите информацию, необходимую для python script или других инструментов. Вот пример:
Пожалуйста, извините мои ограниченные возможности английского языка, но надеюсь, что это поможет.
Источник
List of Android version names
Android versions up to Android 10! 10 got, additionally to their nummeric version number, a code-name, which was assigned by Google. Like the naming of Ubuntu versions (names of animals with an adjective [1] ), Android version names were names of, mostly american, sweets, where the first letter was in alphabetical order.
The assignment of numeric and textual version names are not always consistent. Android 4.0 and Android 4.1, for example, have different version names, but Android 5.0, 5.1 and 5.1.1 share the same version name.
Starting with Android 10! 10, Android versions do not get a codename anymore. Since then, the Android versions will be released with their version number only. [2] [3] [4] [5]
Содержание
Cupcake
The Android version 1500! 1.5 Cupcake is the first version, which got a name assigned, which is Cupcake. Cupcakes are muffin-like cakes, which mostly has a creamy hood.
Donut
Version 1600! 1.6 Donut was given the name Donut.
Eclair
Android-Version 2000! 2 Eclair and 2100! 2.1 Eclair share the same name, Eclair. Eclairs are longly biscuits overdrawn with chocolate.
Froyo
Frozen Yogurt is a ice-like dessert made with milk and yogurt and is also the name of the Android version 2200! 2.2 Froyo.
Gingerbread
The name of Android version 2300! 2.3 «Gingerbread» is Gingerbread, which are cake-like biscuits mostly eaten around christmas time.
Honeycomb
The android version mostly made for tablets, Android 3000! 3.0 Honeycomb, is called Honeycomb. The bootanimation of this android version is also made like a honeycomb.
Ice Cream Sandwich
Android 4.0 is called after a sweet, which is made of delicious ice cream bewtween two biscuits: an Ice Cream Sandwhich.
Jelly Bean
Jelly beans are colorful, mostly made out of sugar, sweets, which have a hard shell and are filled with jelly. The following android versions share this name:
KitKat
KitKat is a brand from Nestle, and is a chocolate bar filled with waffles. Android 4.4 is named after this sweet: 4.4! 4.4 «KitKat».
Lollipop
Lollipops are sweets in different flavors on a stalk and is also the name of the following android versions:
Marshmallow
The android version 6.0, announced at 17th of august in 2015 is called after the sweet Marshmallow.
Nougat
Android 7, also called Android N, officialy got the name Nougat.
Android 8, also called Android O, carries the name Oreo, which are two crispy chocolate cookies with a vanilla cream center.
Android 9, also called Android Pie, carries the name Pie, which is the name of different sweet dishes.
The version 9! 9 was the last Android version which got a codename assigned.
Android 10
Google announced that a new Android Version will be officially known as Android 10.
Источник
Android get android version name
В статье приведен перевод статей [1, 2], посвященных управлению версиями приложения Android, и работе приложения на разных версиях операционной системы Android. Все непонятные термины и сокращения ищите в Словарике [3].
Управление версией приложения является критически важным аспектом для обновления приложения и для стратегии его поддержки в будущем. Это важно потому что:
• Пользователям нужна соответствующая информация о версии приложения, которая установлена на их устройствах, и о доступности обновлений версии приложения для существующей инсталляции.
• Другие приложения — включая другие приложения, которые Вы публикуете в как комплект приложений — нуждаются в опросе системы для версии Вашего приложения, чтобы определить совместимость и идентифицировать зависимости (от API и библиотек).
• Сервисы, через которые Вы публикуете приложение (или приложения) могут также нуждаться в опросе Вашего приложения на его версию, чтобы можно было отобразить эту версию для пользователей. Сервис публикации может также нуждаться в проверки версии приложения, чтобы определить совместимость и установить взаимосвязи для апгрейда или довнгрейда.
Система Android не использует информацию об версии приложения для принудительного ограничения на апгрейд, довнгрейд, или на ограничение совместимости приложений сторонних производителей. Вместо этого Вы (как разработчик) отвечаете за ограничения, связанные с версиями приложения, или за информирование об этом пользователей. Однако система Android обеспечивает совместимость приложения с системой в соответствии с атрибутом minSdkVersion, который указан в манифесте. Этот атрибут позволяет приложению указать минимальный уровень системного API, с которым совместимо приложение. Дополнительную информацию см. ниже android:minSdkVersion в разделе «Как указать требования приложения к уровню (версии) API Android».
[Установка версии приложения (Application Version)]
Чтобы задать информацию о версии для Вашего приложения, нужно установить атрибуты в файле манифеста приложения (AndroidManifest.xml, секция manifest). Доступно 2 атрибута, для которых обязательно нужно назначить значения:
• android:versionCode — целое число, которое представляет версию кода приложения относительно других версий. Значение целого числа установлено так, чтобы другие приложения могли программно вычислить его, например для проверки взаимосвязи апгрейда или довнгрейда. Вы можете установить значение в любое целое число, какое захотите, однако нужно помнить, что обновленное приложение должно иметь последовательно увеличенный номер версии. Система не принуждает к такому поведению, однако увеличение номера версии с новым релизом является нормой.
Обычно Вы должны сделать первый релиз приложения с versionCode установленным в 1, и затем монотонно увеличивать это значение с каждым новым релизом, независимо от статуса, который имеет релиз: major или minor. Это не означает, что значение атрибута android:versionCode должно быть строго подобно версии релиза, которую видит пользователь (см. далее атрибут android:versionName). Приложения и сервисы публикации приложений не должны отображать значение атрибута android:versionCode для пользователей.
• android:versionName — строковое значение, которое представляет версию релиза кода приложения, которая должна быть показана пользователям.
Значение является строкой, в которой Вы можете описать версию приложения как . . , или любым другим способом, выражая текстовым идентификатором абсолютную или относительную версию приложения.
Как и атрибут android:versionCode, система Android не использует android:versionName для внутреннего использования, кроме того как отобразить это значение для пользователей. Сервисы публикации приложений могут также прочитать значение android:versionName для того, чтобы отобразить её для пользователей.
Оба этих элемента нужно задать в секции файла манифеста приложения. Пример:
Обратите внимание, что в этом примере android:versionCode показывает, что текущий файл .apk содержит второй релиз кода приложения, который соответствует минорной последующей версии релиза 1, как показано в строке android:versionName.
Рабочее окружение Android предоставляет API, позволяющее приложениям опросить систему для получения информации версии приложения. Чтобы получить информацию версии, приложения используют метод getPackageInfo(java.lang.String, int) объекта PackageManager.
[Как указать требования приложения к уровню (версии) API Android]
Если Ваше приложение требует определенную минимальную версию платформы Android, где приложение должно работать, или если приложение разработано для поддержки определенного диапазона версий платформ Android, то Вы можете указать эти требования к версиям в виде идентификаторов API Level в файле манифеста приложения. Если сделать так, то это обеспечит то, что Ваше приложение может быть установлено только на устройствах, на которых работает совместимая версия системы Android.
Чтобы указать требования к API Level, добавьте тег в файл манифеста приложения, и укажите в нем один или несколько этих атрибутов:
• android:minSdkVersion — минимальное значение версии платформы Android, на которой приложение будет работать. Значение версии указано в виде цифрового идентификатора API Level.
• android:targetSdkVersion — указывает число API Level, для которого приложение разработано. В некоторых случаях это позволит приложению использовать элементы манифеста и определять поведение по заданному уровню целевого API Level, вместо того, чтобы ограничиваться использованием только определенного минимального уровня API Level.
• android:maxSdkVersion — максимальное значение версии платформы Android, на котором приложение может работать. Внимательно прочтите документацию по секции (см. далее) перед использованием этого атрибута.
При подготовке к установке приложения система проверяет эти атрибуты и сравнивает их с версией системы. Если значение android:minSdkVersion больше версии системы, то установка приложения будет прервана. Точно также система установить Ваше приложение только в том случае, если android:maxSdkVersion совместим с версией платформы.
Если Вы не укажете эти атрибуты в манифесте, то система предположит, что Ваше приложение совместимо со всеми версиями платформы, и также нет ограничения на максимальный API Level.
Чтобы указать минимальную требуемую версию платформы для Вашего приложения, добавьте секцию дочерней к секции , и затем добавьте атрибут android:minSdkVersion и его значение.
[Подробнее о секции манифеста ]
Секция uses-sdk появилась начиная с API Level 1 (т. е. сразу, начиная с самых старых версий Android). Синтаксис секции следующий:
Секция uses-sdk позволяет Вам выражать совместимость приложения Android с одной или большим количеством версий платформ (операционных систем) Android. Эта совместимость определяется посредством чисел API Level, которая указывается в атрибутах секции minSdkVersion, targetSdkVersion, maxSdkVersion. Версия платформы может (которая соответствует определенному числу API Level) может различаться на разных устройствах Android. Указанные API Level, представленные приложением в этой секции, сравниваются с API Level системы, на которой работает (или устанавливается) приложение, и на основе этого сравнения принимаются определенные решения по инсталляции программы или её работе.
Несмотря на имя секции uses-sdk, эта секция на самом деле используется для определения API Level, но не номер версии SDK платформы Android. API Level всегда задается одиночным целым числом. Вы не можете получить из связанной с ним текстовой версии Android, кроме как получить такое соответствие из таблицы API Level (см. [4]). К примеру, API level 16 относится к версиям Android 4.1, Android 4.1.1, Android 4.1.2. Теперь рассмотрим назначение атрибутов minSdkVersion, targetSdkVersion, maxSdkVersion.
android:minSdkVersion число, обозначающее минимальный API Level, который требуется для установки, запуска и работы приложения. Система Android не позволит пользователю установить приложение, если API Level системы меньше значения, указанного в этом атрибуте. Вы всегда должны указывать этот атрибут в секции uses-sdk файла AndroidManifest.xml.
Предостережение: если Вы не укажете этот атрибут, то система предположит его значение по умолчанию «1», что означает совместимость Вашего приложения со всеми без исключения версиями операционной системы Android. Если Ваше приложение несовместимо со всеми версиями (например, оно использует API, представленное впервые на API Level 3), и Вы не укажете правильно minSdkVersion, то при установке на систему с уровнем API Level меньше 3 приложение будет завершаться с ошибкой при попытке доступа к недоступному API. По этой причине обязательно объявляйте подходящий API Level в атрибуте minSdkVersion.
android:targetSdkVersion этот атрибут представлен начиная с API Level 4. Это целое число, обозначающее API Level, для которого приложение предназначено (target, что означает цель). Если этот атрибут не установлен, то его значение по умолчанию равно minSdkVersion.
Этот атрибут информирует систему, что Вы тестировали приложение с этим API Level, и система не должна позволять любое поведение совместимости (compatibility behaviors, т. е. эмуляцию вызовов API, обеспечивающих специальную дополнительную программную обработку некоторых вызовов API), чтобы поддержать прямую совместимость приложения с целевой версией системы. Приложение все еще может работать на более старых версиях (до версий, не меньших minSdkVersion).
Поскольку Android развивается с каждой новой версией, то некоторые поведения и даже внешний вид приложения может измениться. Однако, если API level платформы выше, чем версия, указанная в targetSdkVersion приложения, система может включить обработки совместимости (compatibility behaviors), чтобы обеспечить работоспособность Вашего приложения так, как Вы этого ожидали. Вы можете запретить такие обработки совместимости, если укажете targetSdkVersion равным API level платформы Android, на которой приложение работает. Например, установка этого значения в «11» или более высокое значение позволит системе установить новую тему оформления по умолчанию (Holo) для Вашего приложения при работе на Android 3.0 или более новой, и также запретит режим совместимости экрана, когда программа будет работать на больших экранах (потому что поддержка API level 11 неявно подразумевает поддержку больших экранов).
Имеется много разновидностей обеспечения совместимости (compatibility behaviors), которые система может разрешить, базируясь на значении этого атрибута. Некоторые из этих обработок (поведений, behaviors) описаны в соответствующей документации версии платформы, см. Build.VERSION_CODES.
Чтобы обеспечить соответствие Вашего приложения каждому новому релизу Android, Вы должны увеличивать значение этого атрибута, чтобы оно соответствовало последнему API level, и затем необходимо полностью протестировать поведение приложения на этой новой версии платформы.
android:maxSdkVersion этот атрибут представлен начиная с API Level 4. Это целое число, обозначающее максимальный API Level, на котором приложение может работать.
На версиях Android 1.5, 1.6, 2.0 и 2.0.1 система проверяет значение этого атрибута, когда инсталлируется приложение, и когда приложение проверяется на совместимость после обновления системы. В любом случае, если атрибут приложения maxSdkVersion меньше API Level системы, то установка приложения будет запрещена. При проверке приложения на совместимость после обновления системы такой случай соответствует полному удалению приложения с устройства. Для иллюстрации того, как этот атрибут может повлиять на приложение после обновления системы, рассмотрим пример.
Приложение декларировало maxSdkVersion=»5″ в своем манифесте, и было опубликовано на Google Play. Пользователь устройства Android 1.6 (API Level 4) загрузил и установил это приложение. После нескольких недель пользователь принял сообщение от системы over-the-air с предложением обновить систему до уровня Android 2.0 (API Level 5). После установки этого обновления система проверила атрибут приложения maxSdkVersion, и разрешила дальнейшее использование этого приложения. Приложение после этого работало нормально. Однако через некоторое время устройство приняло другое обновление системы Android 2.0.1 (API Level 6). После обновления система не разрешает работу приложения, так как API Level системы (6) теперь выше, чем максимальный уровень, который может поддержать приложение (5). Система делает приложение невидимым для пользователя, и удаляет его из устройства.
Предупреждение: использование этого атрибута не рекомендуется. Во-первых, нет никакой потребности установить этот атрибут как средство блокирования развертывания Вашего приложения на новые версии платформы Android по мере их появления. Для Android декларируется полная обратная совместимость старых приложений для новых версий Android. Ваше приложение должно работать должным образом на всех новых версиях, если оно использует только стандартное API и следует лучшим правилам и практикам разработки. Во-вторых нужно помнить, что применение этого атрибута приведет к автоматическому удалению Вашего приложения с устройств пользователя, которые обновят свою систему на более высокий API Level, чем указано в атрибуте. Большинство устройств, на которых вероятно будет установлено Ваше приложение, получают периодические обновления системы на лету, по воздуху (over the air), так что Вы должны учитывать этот эффект перед тем, как установить этот атрибут для своего приложения.
Будущие версии Android (вне Android 2.0.1) больше не будут проверять maxSdkVersion и принудительно применять его значение при установке или проверке совместимости приложения. Однако Google Play продолжит использовать этот атрибут как фильтр при предоставлении приложений, доступных для закачки пользователям.
[Пример установки версии приложения при создании проекта в Eclipse]
В Eclipse при создании проекта запускается мастер, который на первом экране позволяет настроить параметры, касающиеся версии приложения.
Поле Minimum Required SDK определяет значение атрибута android:minSdkVersion будущего приложения. Здесь желательно указать версию достаточно популярной платформы, которая возможно уже несколько устарела.
Поле Target SDK задает атрибут android:targetSdkVersion. Укажите здесь версию системы, с которой Вы тестировали Ваше приложение. К примеру, Вы отлаживаете программу на версии Android 4.1.2, тогда в выпадающем списке Target SDK нужно выбрать API 16: Android 4.1 (Jelly Bean).
Поле Compile With задает версию SDK, на котором Ваше приложение будет скомпилировано. Задайте здесь максимальную (самую свежую) на текущий момент версию системы Android.
Источник