Могу ли я установить атрибуты уровня API X в моем манифесте, когда значение minSdkVersion меньше X? - PullRequest
7 голосов
/ 26 января 2012

Я работаю над приложением для Android, в котором мне бы хотелось включить флаги «Large Heap» и «HardwareAclelerated». Тем не менее, он также должен поддерживать Android 2.3.

Мой AndroidManifest.xml выглядит следующим образом:

<uses-sdk
        android:minSdkVersion="10"
        android:targetSdkVersion="10"/>

<application
        android:icon="@drawable/icon"
        android:label="@string/app_name"
        android:hardwareAccelerated="true"
        android:largeHeap="true"
        >

Однако Eclipse отказывается строить проект, говоря:

error: No resource identifier found for attribute 'hardwareAccelerated' in package 'android'
error: No resource identifier found for attribute 'largeHeap' in package 'android'

Повышение targetSdkVersion до 11, где были введены такие флаги, не решает проблему.

Возможно ли поддерживать Android 2.3 и при этом устанавливать эти флаги?

1 Ответ

11 голосов
/ 26 января 2012

Да, вы можете добавить атрибуты XML, но вы должны построить с требуемым уровнем SDK для этих атрибутов. Старые платформы просто игнорируют эти атрибуты. Для этого измените Project Build Target на 11 в настройках Android для проекта в Eclipse.

Но обратите внимание, что если вы начнете строить свой проект с уровнем SDK 11, вы можете легко вставить код, который не выполняется на устройствах с уровнем <11. </p>

См. Обратная совместимость для аналогичного объяснения о том, как включить атрибут installLocation (представлен на уровне 8) и по-прежнему собираться для уровня SDK менее 8.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...