Find android version number

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

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

Источник

How can I check the system version of Android?

Does anyone know how can I check the system version (e.g. 1.0 , 2.2 , etc.) programatically?

13 Answers 13

Example how to use it:

  • 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.
  • RELEASE : The user-visible version string.

Build.Version is the place go to for this data. Here is a code snippet for how to format it.

Looks like this «Android SDK: 19 (4.4.4)»

For checking device version which is greater than or equal to Marshmallow ,use this code.

for ckecking others just change the VERSION_CODES like,
K for kitkat,
L for loolipop N for Nougat and so on.

That will give you the actual numbers of your version; aka 2.3.3 or 2.2. The problem with using Build.VERSION.SDK_INT is if you have a rooted phone or custom rom, you could have a none standard OS (aka my android is running 2.3.5) and that will return a null when using Build.VERSION.SDK_INT so Build.VERSION.RELEASE will work no matter what!

Читайте также:  2 din андроид kia rio

You can find out the Android version looking at Build.VERSION .

The documentation recommends you check Build.VERSION.SDK_INT against the values in Build.VERSION_CODES .

This is fine as long as you realise that Build.VERSION.SDK_INT was only introduced in API Level 4, which is to say Android 1.6 (Donut). So this won’t affect you, but if you did want your app to run on Android 1.5 or earlier then you would have to use the deprecated Build.VERSION.SDK instead.

I can’t comment on the answers, but there is a huge mistake in Kaushik’s answer: SDK_INT is not the same as system version but actually refers to API Level.

The value Build.VERSION_CODES.ICE_CREAM_SANDWICH equals 14. 14 is the API level of Ice Cream Sandwich, while the system version is 4.0. So if you write 4.0, your code will be executed on all devices starting from Donut, because 4 is the API level of Donut ( Build.VERSION_CODES.DONUT equals 4).

This example is a reason why using ‘magic number’ is a bad habit.

Источник

Get Android .apk file VersionName or VersionCode WITHOUT installing apk

How can I get programmatically get the version code or version name of my apk from the AndroidManifest.xml file after downloading it and without installing it.

For example I want to check if a new version is uploaded on my IIS service, after install it on device, if it is not a new version I don’t want to install it.

10 Answers 10

Following worked for me from the command line:

NOTE: aapt.exe is found in a build-tools sub-folder of SDK. For example:

If you are using version 2.2 and above of Android Studio then in Android Studio use Build → Analyze APK then select AndroidManifest.xml file.

This answers the question by returning only the version number as a result. However.

The goal as previously stated should be to find out if the apk on the server is newer than the one installed BEFORE attempting to download or install it. The easiest way to do this is include the version number in the filename of the apk hosted on the server eg myapp_1.01.apk

You will need to establish the name and version number of the apps already installed (if it is installed) in order to make the comparison. You will need a rooted device or a means of installing the aapt binary and busybox if they are not already included in the rom.

This script will get the list of apps from your server and compare with any installed apps. The result is a list flagged for upgrade/installation.

As somebody asked how to do it without using aapt. It is also possible to extract apk info with apktool and a bit of scripting. This way is slower and not simple in android but will work on windows/mac or linux as long as you have working apktool setup.

Also consider a drop folder on your server. Upload apks to it and a cron task renames and moves them to your update folder.

Источник

Tek Eye

The table in this article lists all the different versions of Android, starting with the earliest Application Programming Interface (API) level to the latest API level. Thus the list is from the oldest Android versions to the latest.

Читайте также:  Регулировка яркости для android

Android Versions by Name, Number, Availability and API Level

Each version of Android is given a code name. The code name is traditionally the name of a dessert, cake or sweet, e.g, Gingerbread, Froyo, Jelly Bean, etc. — as the sugar laden picture below shows. The table that follows lists the code names, version numbers, first release date and Application Programming Interface (API) versions, along with the equivalent Software Development Kit (SDK) constants (Build.VERSION_CODES). The Android version number on a device is normally found in the settings. Select Settings, then About Phone or About Device and look at the Firmware Version or Android Version entry.

List of Android Versions and Their Names, API Level and Dates

Name Version Available API VERSION_CODES
N/A 1.0 October 2008 1 BASE
N/A 1.1 February 2009 2 BASE_1_1
Cupcake 1.5 May 2009 3 CUPCAKE
Donut 1.6 September 2009 4 DONUT
Eclair 2.0 November 2009 5 ECLAIR
Eclair 2.0.1 December 2009 6 ECLAIR_0_1
Eclair 2.1 January 2010 7 ECLAIR_MR1
Froyo 2.2 to 2.2.3 June 2010 8 FROYO
Gingerbread 2.3 to 2.3.2 November 2010 9 GINGERBREAD
Gingerbread 2.3.3 to 2.3.7 February 2011 10 GINGERBREAD_MR1
Honeycomb 3.0 February 2011 11 HONEYCOMB
Honeycomb 3.1 May 2011 12 HONEYCOMB_MR1
Honeycomb 3.2 to 3.2.6 June 2011 13 HONEYCOMB_MR2
Ice Cream Sandwich 4.0.1 to 4.0.2 October 2011 14 ICE_CREAM_SANDWICH
Ice Cream Sandwich 4.0.3 to 4.0.4 December 2011 15 ICE_CREAM_SANDWICH_MR1
Jelly Bean 4.1 to 4.1.1 July 2012 16 JELLY_BEAN
Jelly Bean 4.2 to 4.2.2 November 2012 17 JELLY_BEAN_MR1
Jelly Bean 4.3 July 2013 18 JELLY_BEAN_MR2
Kit Kat 4.4 to 4.4.4 October 2013 19 KITKAT
Kit Kat 4.4W to 4.4W.2 June 2014 20 KITKAT_WATCH
Lollipop 5.0 to 5.0.2 November 2014 21 LOLLIPOP
Lollipop 5.1 to 5.1.1 March 2015 22 LOLLIPOP_MR1
Marshmallow 6.0 to 6.0.1 October 2015 23 M
Nougat 7.0 August 2016 24 N
Nougat 7.1 to 7.1.2 October 2016 25 N_MR1
Oreo 8.0.0 August 2017 26 O
Oreo 8.1.0 December 2017 27 O_MR1

The above table was derived from the following sources (note that some release dates are derived from the Android developers documentation, the actual SDK availability may have been a little earlier, see the Wikipedia article):

When programming an App the API level is used to determine whether specific Android features are present or not. The API level can be read in versions prior to Donut (Cupcake, 1.1 and 1.0) using:

int APILevel = Integer.parseInt(Build.VERSION.SDK);

And from Donut onwards using:

int APILevel = Build.VERSION.SDK_INT;

(Build.VERSION.SDK is deprecated, i.e. it will be removed from the API at some future release).

When using functionality from a later API, but the App needs to support earlier Android versions, wrap the newer functionality in a separate class. Then check the API level before instantiating the class to prevent a VerifyError exception from occurring. See the article Support Multiple API Versions in Android.

Author: Daniel S. Fowler Published: 2012-05-25 Updated: 2017-01-08

Do you have a question or comment about this article?

(Alternatively, use the email address at the bottom of the web page.)

↓markdown↓ CMS is fast and simple. Build websites quickly and publish easily. For beginner to expert.

Free Android Projects and Samples:

Источник

Оцените статью