приложение для Android будет работать только в версиях 2.2 и 2.1 - PullRequest
0 голосов
/ 17 марта 2012

в моем приложении у меня есть два набора дизайнов.Один дизайн предназначен для устройств Android версии 2.1 и 2.2, другой дизайн для устройств версии 2.3 и выше.

Теперь проблема заключается в том, что я принимаю настройку сборки следующим образом в моем файле манифеста

<uses-sdk android:minSdkVersion="7" /> 
      <uses-sdk android:maxSdkVersion="8" />

Мой Android project properties был установлен на 2.2.Когда я запускаю эту сборку на устройствах 2.3.4, она запускается правильно.Как это происходит?

Я планирую представить приложение с несколькими файлами apk на рынке.Как заблокировать мои приложения, чтобы одна сборка запускалась в 2.1 и 2.2, а другая сборка для запуска в 2.3 и выше

Я только что попытался установить только <uses-sdk android:minSdkVersion="7" /> или <uses-sdk android:maxSdkVersion="7" /> или <uses-sdk android:maxSdkVersion="8" /> или <uses-sdk android:targetSdkVersion="8" /> тогда также он запускается на всех устройствах 2.3.4 устройств

Пожалуйста, помогите мне, друзья ....

Ответы [ 4 ]

3 голосов
/ 17 марта 2012

Привет в соответствии с документацией для Android:

Introduced in: API Level 4

В будущих версиях Android (помимо Android 2.0.1) больше не будет проверять или применять атрибут maxSdkVersion во время установки или повторной проверки.Google Play продолжит использовать этот атрибут в качестве фильтра, однако при представлении пользователям приложений, доступных для загрузки.

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

РЕДАКТИРОВАТЬ1:

Also have a look at the Warning 

Предупреждение : Объявление этого атрибута не рекомендуется. Во-первых, нет необходимостиустановите атрибут как средство блокировки развертывания вашего приложения на новых версиях платформы Android по мере их выпуска.По своему дизайну новые версии платформы полностью обратно совместимы.Ваше приложение должно корректно работать с новыми версиями, при условии, что оно использует только стандартные API и следует передовым методам разработки.Во-вторых, обратите внимание, что в некоторых случаях объявление атрибута может привести к удалению вашего приложения с пользовательских устройств после обновления системы до более высокого уровня API.Большинство устройств, на которых может быть установлено ваше приложение, будут периодически получать обновления системы по беспроводной сети, поэтому вам следует рассмотреть их влияние на ваше приложение, прежде чем устанавливать этот атрибут.

2 голосов
/ 17 марта 2012

Согласно документации:

В будущих версиях Android (помимо Android 2.0.1) больше не будет проверяться или применяться атрибут maxSdkVersion во время установки или повторной проверки

* 1006.*http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#max

Кроме того, вы можете проверить версию API во время выполнения и заблокировать использование вашего приложения.http://developer.android.com/reference/android/os/Build.VERSION.html

1 голос
/ 17 марта 2012

Вы можете установить его, используя adb или непосредственно загрузив apk через веб-сайт.

minSdk и maxSdkVersion проверяются только при их установке с Android market.Устройства с версиями, выходящими за этот диапазон, не увидят ваше приложение на рынке.

0 голосов
/ 17 марта 2012

Вам необходимо использовать класс PackageManager для конкретного приложения. Существует метод с именем getPackageInfo(), который возвращает объект PackageInfo. Из этого PackageInfo вы можете получить значения имени версии и кода.

Теперь у вас есть значения, поэтому используйте логику и реализуйте ее

...