2010-05-25 2 views
2

Я знаю, как получить уровень API, android.os.Build.VERSION.SDK_INT, но есть также несколько версий каждого уровня релиза, например. для 2.1 есть версии 1 и 2. Как определить ревизию сборки?Как определить номер версии сборки Android?

Причина, по которой я хотел бы знать, что у меня есть обходной путь для ошибки в Android 2.1 (и 2.2), и это обходное решение нарушит момент исправления соответствующей ошибки. Так что прямо сейчас я нахожусь в нечетном положении, надеясь, что ошибка не будет исправлена ​​(по крайней мере, пока я не найду ответ на вышеупомянутый вопрос).

ответ

1

Я не уверен, какой версии вы ВЕ, но пересмотр вы установили в вашем файле манифеста вы можете получить с помощью следующего кода:

paramContext является ваш объект Context

PackageManager localPackageManager = paramContext.getPackageManager(); 
    PackageInfo localPackageInfo = localPackageManager.getPackageInfo(paramContext.getPackageName(), 0); 
    String version = localPackageInfo.versionName; 

Если вы хотите извлечь версию сборки, используйте этот код:

String version = Build.VERSION.RELEASE; 
+0

Думаю, вы только прочитали название, а не вопрос? Я имею в виду версии и версию Android. Первая часть вашего ответа не делает мне ничего хорошего. Строка RELEASE, на которую вы указываете, содержит имя выпуска и в основном недокументирована. Поэтому спасибо за ответ, но мой вопрос остается без ответа. – hermo

+0

Вы когда-нибудь проверяли мой ответ, прежде чем просить об этом? Это не моя проблема, что это не хорошо документировано. Я установил только для вас ревизию версии 2.1 и затем Build.VERSION.RELEASE возвращает 2.1. Затем я установил ревизию 2 android2.1, а затем вернул Build.VERSION.RELEASE: 2.1-update1 – 2010-05-25 14:51:39

+0

edit/add: Таким образом, должно быть ясно, что можно различать разные версии одной и той же версии. – 2010-05-26 00:04:21