У меня есть приложение, которое должно быть совместимо с Android 2.1 (Eclair, API Level 7).Я хочу использовать атрибут manifest, который поддерживается только в Android 2.2+ (Froyo, API Level 8).Как правило, я не хочу напрямую вызывать (т. Е. Не через отражение) ЛЮБОЙ API уровня 8 из моего кода.
Принятое решение этой проблемы - компилировать с Froyo(API 8) и включите тэг Использования-SDK в список самых простых для обозначения обратной совместимости:
<uses-sdk android:minSdkVersion="7"/>
Предостережение: мы должны быть осторожны и тщательно тестировать (с помощью автоматических тестов и / или вручную)Eclair, чтобы убедиться, что мы случайно не использовали вызов API для Froyo.
На мой взгляд, это вряд ли приемлемое решение.Я настоятельно предпочитаю использовать рефлексию только для вызова API выше базового требования приложения и хочу поддерживать только параметры манифеста выше базового уровня.Есть ли какие-либо средства, чтобы просто и просто обойти это?
Мой текущий обходной путь - удалить записи манифеста, которые не совместимы с базовым API, и выполнить тестовую компиляцию перед любым открытым выпуском.
Спасибо за любые предложения!