Мы отбрасываем поддержку устройств Android 2.3 (API уровня 9), поскольку большинство наших пользователей имеют новую версию Android на своих телефонах. Я обновил минимальную версию SDK до уровня апи 14.Android: возможность установки приложения для неподдерживаемой версии Android
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
minSdkVersion 14
targetSdkVersion 23
}
}
Однако я все еще в состоянии установить приложение на Android 2.3 устройств вручную (не магазин). Является ли это ожидаемым поведением или я делаю что-то неправильно? Я не мог найти ответ где-то еще.
Еще одна странная проблема заключается в том, что Lint не обнаруживает правильный уровень api.
listView.setFastScrollAlwaysVisible(true);
Это приводит к предупреждению: для вызова требуется уровень АИ 11 (текущий мин равен 9). Однако мой текущий минимум сейчас 14. Таким образом, это указывает на то, что я сделал что-то неправильно. Я попробовал очистить и восстановить проект, перезапустив Android Studio. Все это не сработало.
Может ли кто-нибудь помочь мне?
Редактировать
на основе Sufians комментарий Я начал возиться с моими Gradle файлами, и я пришел к следующему решению. Однако некоторые вопросы остаются. Моей структура проекта выглядит следующим образом:
- android.gradle (файл сборка верхнего уровня, который содержит версии SDK)
- основного модуля (содержит базовый код для других модулей)
- сборки. Gradle (применяются с: '../android.gradle')
- подмодуль A (модуль специфические изменения)
- build.gradle (имеет зависимость от основного модуля)
- суб модуль B (модуль специфических изменений)
- build.gradle (имеет зависимость от основного модуля)
У меня есть файл сборки верхнего уровня android.gradle
, который содержит версии SDK. Затем мои модули включают файл сборки по apply from: '../android.gradle'
. Если я помещаю minSdkVersion непосредственно в основной модуль, предупреждения исчезают. Так оно и должно быть? или мне нужно установить minSdkVersion для каждого подмодуля? Или есть другой способ, чтобы версии SDK могли оставаться в файле android.gradle
?
что у вас есть на манифесте? – JMR
Я не поставил минимальную или целевую версию SDK в манифесте. – Wirling
попытайтесь найти, если у вас в вашем проекте что-то, что определяет 9 с помощью «grep», например ... – JMR