Предупреждение ов манифесте? - PullRequest
24 голосов
/ 01 апреля 2012

В Манифесте я получаю предупреждение.

<uses-sdk> tag should specify a target API level (the highest verified version; 
when running on later versions, 
compatibility behaviors may be enabled) with android:targetSdkVersion="?"

Что это значит?

У меня

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

В нем на данный момент.(Android 2.1)

Ответы [ 2 ]

33 голосов
/ 01 апреля 2012

Просто добавьте атрибут android:targetSdkVersion="8" в тег uses-sdk. Если вы просто хотите избавиться от предупреждения, это сделает это безопасно.

Если вы хотите узнать больше, вот описание того, что означает этот атрибут,

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

Документы немного нечеткие, но они говорят, что целевая версия SDK используется для определения, должен ли android включать слои совместимости. например, если ваш минимальный SDK был 8, а ваш целевой SDK был 14, вы говорите Android, что хотя нет причин, по которым он не должен работать в версии 8, вы тестировали только на 14. Поэтому, если есть какие-либо настройки совместимости чтобы включить между уровнями 8 и 14, они могут быть установлены. обратите внимание, что этот атрибут может фактически ничего не делать в зависимости от фактических минимальных / целевых значений.

Если вы установите min SDK == target, вы, по сути, говорите, что тестировали на самом низком уровне API, который, как вы заявляете, поддерживают, и это хорошо.

4 голосов
/ 14 июня 2012

У меня есть одно решение для обхода.

  • Скопируйте файл манифеста, вставьте на рабочий стол.
  • Удалите файл манифеста в вашем проекте
  • Скопируйте манифестфайл с рабочего стола
  • и вставьте в свой проект.

Сработало для меня, как предупреждение исчезло.

...