gpt4 book ai didi

Android Studio Lint - 为 lint 设置 API 级别

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:53:44 27 4
gpt4 key购买 nike

事情是这样的。我有一个与 API 15 及更高版本兼容的应用程序,但由于它非常大并且我已经达到 65k 方法限制,我不得不将它设为 MultiDexApplication 类的后代。这会稍微减慢构建时间,所以我必须实现一些优化来加快这个过程。我的 list 中有以下代码,这显着减少了构建 API >= 21 时的构建时间(取自其他一些 SO 线程):

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

一切正常,但问题是在开发过程中,Android studio 认为我的 minSdkVersion SDK 级别是 21(正确),并且 lint 没有显示不兼容的 API (15-21)。我真正想要的是能够将 minSdkVersion 设置为 21(快速构建),但将“lint minSdkVersion”设置为 15,因此我看到代码部分与 21 之前的旧 API 不兼容。我尝试用谷歌搜索它并查看 AS lint 偏好,但我没有找到任何有用的东西。感谢您的任何建议。我目前的解决方案是将 dev flavor 中的 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 属性,如果为真 - 我们正在使用它。否则,我们默认为 15。

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

使用命令行:

./gradlew installDebug -PdevMinSdk=21

使用 Android Studio 首选项:

转到首选项(Windows 上的设置)-> 构建、执行、部署 -> 编译器 -> 将 -PdevMinSdk=21 放入命令行选项文本框。

Android Studio compiler options

关于Android Studio Lint - 为 lint 设置 API 级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37979043/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com