在Android studio中使用-Xlint重新编译

时间:2017-12-10 16:21:10

标签: android android-studio

当我在Android Studio中构建Android项目时,收到消息:

Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.

我想做消息建议的内容,但是怎么做?如上所述,我如何配置我的Android工作室以-Xlint重新编译我的项目? (我使用的是Android Studio 3.0.1)

5 个答案:

答案 0 :(得分:65)

该消息建议您使用args -Xlint重新编译以获取更多警告详细信息,将这些代码添加到build.gradle:

allprojects {
    tasks.withType(JavaCompile) {
        options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
    }
}

然后您可以通过详细消息修复警告 例如,您可以使用新方法替换已弃用的方法(由于旧方法已被弃用,因此始终存在新方法)。

但是,有时我们不希望因某些原因更改我们的代码,我们只想删除编译警告,您可以在不推荐使用的方法前添加@SuppressWarnings("deprecation")

答案 1 :(得分:6)

您需要在应用级别 buld.graddle 文件

中添加以下内容
allprojects {
    tasks.withType(JavaCompile) {
        options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
    }
}

如果由于某些原因您需要继续使用已弃用的API,则可以取消警告。您可以使用

注释不赞成使用的方法
@SuppressWarnings("deprecation")

注释。

post link

答案 2 :(得分:2)

如果在生成签名的APK时遇到问题,可以尝试在build.gradle(app)

中执行此操作
android {
    lintOptions {
        checkReleaseBuilds false
    }
}

答案 3 :(得分:1)

这是项目中的错误,可能是来自XML文件。禁用lintOptions不是正确的解决方案。找到错误并解决问题,即可在Android Studio终端中的以下命令中运行

Windows

  

gradlew assembleDebug --stacktrace

MAC

  

./ gradlew assembleDebug --stacktrace

答案 4 :(得分:0)

您可以通过选择“分析”>“检查代码”来手动运行配置的棉绒和其他IDE检查。检查结果显示在“检查结果”窗口中。 在此处查看详细信息: https://developer.android.com/studio/write/lint#manuallyRunInspections