Android Studio Lint – 为lint设置API级别

这就是事情.我有一个与API 15及更高版本兼容的应用程序,但由于它非常大而且我已经达到65k方法限制,我不得不将其作为MultiDexApplication类的后代.
这会稍微减慢构建时间,因此我必须实施一些优化来加速该过程.我在清单中有以下代码,这可以显着缩短构建API> = 21时的构建时间(取自其他一些SO线程):

    productFlavors {
        dev {
            minSdkVersion 21
        }
        prod {
            minSdkVersion 15
        }
    }

一切都很完美,但问题是在开发过程中,Android工作室认为我的minSdkVersion SDK级别是21(正确),并且lint没有显示我不兼容的API(15-21).
我真正想要的是能够将minSdkVersion设置为21(快速构建),但将“lint minSdkVersion”设置为15,所以我看到代码的部分与旧的API不兼容,而不是21.
我试图谷歌它,也调查AS lint首选项,但我没有找到任何有用的东西.谢谢你的任何建议.我目前的解决方案是将dev风格的minSdkVersion切换为21并检查是否有任何错误,但这不是我想要的.

最佳答案:

This gist回答你的问题.它显示了如何使用任何开发最小SDK值构建项目,同时为Lint警告维护生产最小SDK值.

要总结帖子,您可以动态计算minSdkVersion值:

int minSdk = hasProperty('devMinSdk') ? devMinSdk.toInteger() : 15
apply plugin: 'com.android.application'

android {
    ...
    defaultConfig {
        minSdkVersion minSdk
        ...
    }
}

在这个例子中,我们检查是否定义了devMinSdk属性,如果为true,我们正在使用它.否则,我们默认为15.

我们如何通过devMinSdk值来构建脚本?两种选择:

使用命令行:

./gradlew installDebug -PdevMinSdk=21

使用Android Studio偏好设置:

转到首选项(Windows上的设置) – >构建,执行,部署 – >编译器 – >在命令行选项文本框中输入-PdevMinSdk = 21.

Android Studio Lint  – 为lint设置API级别

上一篇:如何在Android Studio中禁用MultiDex?


下一篇:Upgrading Technology(2019牛客暑期多校训练营(第六场)J,预处理 + 枚举)