Использование атрибутов уровня API за пределами minSdkVersion

Я новичок в разработке Android, и мне интересно, что произойдет, если вы используете атрибуты на тегах XML с уровня API, превышающего ваш minSdkVersion.

Например, имея:

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

И затем используя это:

 <activity android:logo="@drawable/iconwhatever"></activity> 

Атрибут «android: logo» относится к уровню API 11.

В Android Studio он дает следующую ошибку, но я хочу знать, что может случиться, если это останется в покое:

 Attribute "logo" is only used in API level 11 and higher. (Current min is 9) 

Любая помощь в этом отношении была бы весьма признательна.

Solutions Collecting From Web of "Использование атрибутов уровня API за пределами minSdkVersion"

Неподдерживаемые атрибуты безопасно игнорируются.

Из документации SDK:

При анализе XML-ресурсов Android игнорирует атрибуты XML, которые не поддерживаются текущим устройством. Таким образом, вы можете безопасно использовать атрибуты XML, которые поддерживаются только новыми версиями, не беспокоясь о том, что старые версии ломаются, когда они сталкиваются с этим кодом.

Для атрибутов XML его безопасно использовать атрибуты из новых API (они просто будут игнорироваться, поскольку синтаксический анализатор XML даже не будет искать их в более старых версиях).

В этом случае манипуляция атрибутами, которые являются разными API, должна выполняться через код, а не в XML.

В коде вы можете его обработать.

Например:

  if(Build.Version.SDK_INT > 10){ .... use an attribute } else{ .... use other } 

Для вашего конкретного случая используйте значок «icon»

 <activity android:icon="@drawable/iconwhatever"></activity>