- 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
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 или других инструментов. Вот пример:
Пожалуйста, извините мои ограниченные возможности английского языка, но надеюсь, что это поможет.
Источник