Могу ли я установить атрибуты уровня API в моем манифесте, когда моя minSdkVersion меньше X?

Я работаю над Android-приложением, где я бы хотел включить флаги largeHeap и hardwareAccelerated. Тем не менее, он также должен поддерживать 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 и устанавливать эти флаги?

Solutions Collecting From Web of "Могу ли я установить атрибуты уровня API в моем манифесте, когда моя minSdkVersion меньше X?"

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

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

См. « Обратная совместимость» для аналогичного объяснения того, как включить атрибут installLocation (введенный в 8-й уровень) и все еще строить для уровня sdk менее 8.