最新消息:20210917 已从crifan.com换到crifan.org

【已解决】Android Studio中gradle编译的项目如何加参数:-Xlint:unchecked

编译 crifan 633浏览 0评论
折腾:
【未解决】rcsjta项目编译出错:DisplayGeoloc.java使用了未经检查或不安全的操作
期间,此处暂时不去改。而是:
想办法先去实现:
有关详细信息, 请使用 -Xlint:unchecked 重新编译
看看详细信息提示的,是不是我们猜测的上面这段代码
please use  Xlint unchecked  recompile
java – Recompile with -Xlint:unchecked for details – Stack Overflow
Note: WarningDemo.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
java – uses unchecked or unsafe operations, Recompile with -Xlint:unchecked for details – Stack Overflow
都没说,如何
-Xlint:unchecked
java – How to compile using -Xlint:unchecked in a Maven project? – Stack Overflow
说了,但是是针对maven的pom.xml的
我此处是gradle的
java – How to recompile with -Xlint:unchecked? – Stack Overflow
javac -Xlint:unchecked ATest.java
android studio gradle add Xlint unchecked
How to add -Xlint:unchecked to my Android Gradle based project? – Stack Overflow
build.gradle
allprojects {
    repositories {
//        google()
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/public' }
//        jcenter()
    }


    gradle.projectsEvaluated {
        tasks.withType(JavaCompile) {
            options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
        }
    }
}
然后根据提示,点击:Sync Now
好像编译是没问题
KotlinDslScriptsParameter(correlationId=4164689778298, scriptFiles=[]) => StandardKotlinDslScriptsModel(scripts=[], commonModel=CommonKotlinDslScriptModel(classPath=[], sourcePath=[], implicitImports=[]), dehydratedScriptModels={}) - took 0.014 secs


CONFIGURE SUCCESSFUL in 7s
但是不是我们要的。
对了,改为:
allprojects {
    repositories {
//        google()
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/public' }
//        jcenter()
    }


    gradle.projectsEvaluated {
        tasks.withType(JavaCompile) {
            options.compilerArgs << "-Xlint:unchecked"
        }
    }
}
然后
clean project后
rebuild project
看到具体报错了:
xxx/rcsjta/RI/src/com/gsma/rcs/ri/messaging/geoloc/DisplayGeoloc.java:91: 警告: [unchecked] 未经检查的转换
                .getSerializableExtra(EXTRA_GEOLOC);
                                     ^
  需要: HashMap<String,Geoloc>
  找到:    Serializable
实现了我们希望的效果。
【总结】
此处希望根据gradle编译提示:
有关详细信息, 请使用 -Xlint:unchecked 重新编译
给gradle编译加上参数:-Xlint:unchecked
具体办法:
此处给项目根目录中的
build.gradle
加上gradle.projectsEvaluated的部分:
gradle.projectsEvaluated {
    tasks.withType(JavaCompile) {
        options.compilerArgs << "-Xlint:unchecked"
    }
}
变成:
然后clean后rebuild即可:
实现我们希望的,看到错误的详情,得知错误发生的具体代码。

转载请注明:在路上 » 【已解决】Android Studio中gradle编译的项目如何加参数:-Xlint:unchecked

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
90 queries in 0.173 seconds, using 23.40MB memory