Android build version info

Build.VERSION

Class Overview

Various version strings.

Summary

Fields
BASE_OS The base OS build the product is based on.
CODENAME The current development codename, or the string «REL» if this is a release build.
INCREMENTAL The internal value used by the underlying source control to represent this build.
PREVIEW_SDK_INT The developer preview revision of a prerelease SDK.
RELEASE The user-visible version string.
SDK This field was deprecated in API level 4. Use SDK_INT to easily get this as an integer.
SDK_INT The user-visible SDK version of the framework; its possible values are defined in Build.VERSION_CODES .
SECURITY_PATCH The user-visible security patch level.
Public Constructors
[Expand]

Fields

public static final String BASE_OS

The base OS build the product is based on.

public static final String CODENAME

The current development codename, or the string «REL» if this is a release build.

public static final String INCREMENTAL

The internal value used by the underlying source control to represent this build. E.g., a perforce changelist number or a git hash.

public static final int PREVIEW_SDK_INT

The developer preview revision of a prerelease SDK. This value will always be 0 on production platform builds/devices.

When this value is nonzero, any new API added since the last officially published API level is only guaranteed to be present on that specific preview revision. For example, an API Activity.fooBar() might be present in preview revision 1 but renamed or removed entirely in preview revision 2, which may cause an app attempting to call it to crash at runtime.

Experimental apps targeting preview APIs should check this value for equality ( == ) with the preview SDK revision they were built for before using any prerelease platform APIs. Apps that detect a preview SDK revision other than the specific one they expect should fall back to using APIs from the previously published API level only to avoid unwanted runtime exceptions.

Источник

Как получить номер сборки/версии вашего приложения для 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 программно.

  1. Получить версию из PackageManager . Это лучший способ для большинства случаев.
  1. Получите его из сгенерированного 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 или других инструментов. Вот пример:

Пожалуйста, извините мои ограниченные возможности английского языка, но надеюсь, что это поможет.

Источник

Как проверить системную версию Android?

Кто-нибудь знает, как я могу программно проверить версию системы (например, 1.0 , 2.2 и т.д.)?

ОТВЕТЫ

Ответ 1

  • CODENAME : текущее кодовое имя разработки или строка «REL», если это версия сборки.
  • INCREMENTAL : внутреннее значение, используемое базовым элементом управления источником для представления этой сборки.
  • RELEASE : строка, видимая для пользователя.

Ответ 2

Ответ 3

Это даст вам фактические номера вашей версии; a 2.3.3 или 2.2. Проблема с использованием Build.VERSION.SDK_INT заключается в том, что если у вас есть встроенный телефон или пользовательский ром, у вас не может быть ни одной стандартной ОС (например, мой Android не работает 2.3.5), и это вернет null при использовании Build.VERSION.SDK_INT поэтому Build.VERSION.RELEASE будет работать независимо от того, что!

Ответ 4

Build.Version — это место для этих данных. Вот фрагмент кода для его форматирования.

Похоже на это «Android SDK: 19 (4.4.4)»

Ответ 5

Вы можете узнать версию Android, глядя на Build.VERSION .

В документации рекомендуется проверить Build.VERSION.SDK_INT на значения в Build.VERSION_CODES .

Это прекрасно, если вы понимаете, что Build.VERSION.SDK_INT был введен только в API Level 4, то есть Android 1.6 (Donut). Таким образом, это не повлияет на вас, но если вы хотите, чтобы ваше приложение запускалось на Android 1.5 или ранее, вам придется использовать устаревший Build.VERSION.SDK .

Ответ 6

Я не могу комментировать ответы, но в Каушике есть большая ошибка: SDK_INT не совпадает с версией системы, но на самом деле относится к уровню API.

Значение Build.VERSION_CODES.ICE_CREAM_SANDWICH равно 14. 14 — уровень API Ice Cream Sandwich, а версия системы — 4,0. Поэтому, если вы напишете 4.0, ваш код будет выполнен на всех устройствах, начиная с Donut, потому что 4 — уровень API Donut ( Build.VERSION_CODES.DONUT равно 4).

Этот пример является причиной того, что использование «магического числа» является плохой привычкой.

Ответ 7

Для проверки версии устройства, которая больше или равна Marshmallow, используйте этот код.

для ckecking другие просто изменяют VERSION_CODES, например,
K для kitkat,
L для loolipop N для Нуги и т.д.

Ответ 8

Ответ 9

Например, функция работает только для api21 до следующего исправления ошибок в api21 down

Ответ 10

Помните, что Build.VERSION.SDK_INT не является надежным, о чем упоминал @Falcon165o, и недавно я столкнулся с этим.

Итак, чтобы получить данные String (на основе списка версий Android) установленного в настоящий момент Android, я сделал такой код:

Источник

Русские Блоги

Таблица номеров версий Android-SDK

Предисловие

Поскольку часто бывает необходимо адаптировать версию SDK по-другому, необходимо знать номер версии SDK. Здесь для удобства дальнейшего просмотра запишите его в виде стол. Просто запишите4.0В конце концов, указанная выше версия Android4.0Вышеуказанный уровень проникновения достиг97.4%

1. Таблица версий SDK

На основе Android 6.0 (уровень API 23)

Дата выхода API Level Версия Android VERSION_CODES английское имя китайское имя
2011.10 14 4.0 ICE_CREAM_SANDWICH IceCreamSandwich Сэндвич с мороженым
2011.12 15 4.0.3 ICE_CREAM_SANDWICH_MR1 IceCreamSandwich Сэндвич с мороженым
2012.06 16 4.1 JELLY_BEAN Jelly Bean жевательные конфеты
2012.11 17 4.2 JELLY_BEAN_MR1 Jelly Bean жевательные конфеты
2013.07 18 4.3 JELLY_BEAN_MR2 Jelly Bean жевательные конфеты
2014.06 19 4.4 KITKAT KitKat KitKat Шоколад
2014.09 20 4.4W KITKAT_WATCH KitKat Wear Устройство KitKat для ношения шоколада
2014.11 21 5.0 L или LOLLIPOP Lollipop Леденец
2015.03 22 5.1 LOLLIPOP_MR1 Lollipop Леденец
2015.10 23 6.0 M Marshmallow сахарная вата
Не опубликовано 24 6.X N Nougat Нуга

Если вам нужна более подробная версия NDK, см. Здесь:Форма SDK с версией NDK

2. Назначение номера версии SDK

2.1. Получите номер версии
  • Зачем нужен номер версии
    Иногда в опубликованном приложении бывают исключения. Мы перехватываем исключение и должны загрузить номер версии SDK для устройства, которое передает исключение, на сервер, чтобы разработчик мог проанализировать исключение.
  • Как получить номер версии выпуска и уровень API
2.2. Адаптировать под номер версии
  • Ситуация 1. Система разрешений Android 6.0:

Судите, есть ли разрешение, если версия больше 5.1, ее нужно судить (то есть 6.0 или выше), а другие судить не нужно. Build.VERSION.SDK_INT относится к уровню API текущего устройства.

  • Ситуация 2. Некоторые атрибуты уведомления:

Подзаголовок уведомления требует использования API уровня 16.

Источник

Читайте также:  Настроить смартфон без андроида
Оцените статью