首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用-Xlint:deprecation重新编译

如何用-Xlint:deprecation重新编译
EN

Stack Overflow用户
提问于 2018-04-07 20:40:05
回答 6查看 60.3K关注 0票数 57

我不使用Android,但我使用build.gradle从命令行构建所有内容。我生成了这样一个Lint报告:

代码语言:javascript
复制
./gradlew lint

这正确地生成了一个Lint报告,但是它也这样说:

代码语言:javascript
复制
Note: MyActivity.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.

这让我想知道我怎么能做到这一点?我试过以下几种方法:

代码语言:javascript
复制
./gradlew lint -Xlint:deprecation

但不起作用。上面写着:

代码语言:javascript
复制
Problem configuring task :app:lint from command line.
Unknown command-line option '-X'.

那么,我如何通过gradle将-Xlint:deprecation传递给Lint呢?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2018-05-11 10:47:18

要回答我自己的问题,您需要在项目级别的build.gradle文件中添加以下内容:

代码语言:javascript
复制
allprojects {
    ...

    gradle.projectsEvaluated {
        tasks.withType(JavaCompile) {
            options.compilerArgs << "-Xlint:deprecation"
        }
    }   
}
票数 95
EN

Stack Overflow用户

发布于 2020-08-24 21:15:26

自从我最近遇到这个问题以来,我有一个新的消息:

您可以按照“接受的答案”中的@Andreas建议的方式获得这个弃用问题的详细信息。如果您正在使用Kotlin,真正的解决方案是(在build.gradle中):

代码语言:javascript
复制
allprojects {
    gradle.projectsEvaluated {
        tasks.withType(JavaCompile) {
            options.compilerArgs.add("-Xlint:deprecation")
        }
    }
}

另一个解决方案是更新您的AndroidSDK。问题在于SDK方法覆盖了不推荐的特性。在build.gradle文件中,您可以更改compileSdkVersion:

代码语言:javascript
复制
android {
    compileSdkVersion 29 //Change this to the latest release
    ...
    ...

    defaultConfig {
        ...
        targetSdkVersion 29 //Change this too
        ...
    }
}

使用最新的SDK版本可能会解决您的问题。Android很好地解决了版本之间的弃用问题。如果它仍然存在,您可能只需要等到下一个SDK发行版。如果问题不在AndroidSDK中,而是在您下载的包中,则应该查看该包是否需要升级或与该包的管理人员联系。

票数 3
EN

Stack Overflow用户

发布于 2021-09-16 09:31:52

Kotlin (build.gradle.kts)版本的其他答案:

代码语言:javascript
复制
allprojects {    
    gradle.projectsEvaluated {

        tasks.withType<JavaCompile> {
            options.compilerArgs.addAll(arrayOf("-parameters", "-Xlint:deprecation"))
        }
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49711773

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档