我们停止支持Android 2.3(API级别9)设备,因为大多数用户的手机已经有了更新的Android版本。我已将最低SDK版本更新为API级别14。
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
minSdkVersion 14
targetSdkVersion 23
}
}
然而,我仍然能够在Android 2.3设备上手动安装应用程序(不通过商店)。这是预期行为还是我做错了什么?我在其他地方找不到答案。
另一个奇怪的问题是Lint无法检测正确的API级别。
listView.setFastScrollAlwaysVisible(true);
这导致警告:调用需要API级别11(当前最小值为9)。然而,我的当前最小值现在是14。因此,这表明我做错了什么。我尝试清理和重建项目,重新启动Android Studio。但这些都没有起作用。
有人能帮帮我吗?
编辑
基于Sufians评论,我开始摆弄我的gradle文件,并得出了以下解决方案。但还有一些问题。
我的项目结构如下:
android.gradle(包含SDK版本的顶层构建文件) 主模块(包含其他模块的基本代码)
build.gradle(apply from:'../android.gradle')
子模块A(特定于模块的更改)
build.gradle(依赖于主模块)
子模块B(特定于模块的更改)
build.gradle(依赖于主模块)
我有一个名为android.gradle的顶级构建文件,其中包含SDK版本。然后,我的模块通过apply from: '../android.gradle'包含构建文件。如果我直接将minSdkVersion放在主模块中,则警告消息会消失。这是正确的方法吗?还是我需要为每个子模块设置minSdkVersion?或者是否还有另一种方法可以使SDK版本保留在android.gradle文件中?
build.gradle
文件以及同一模块中的清单文件。 - Sufian