折腾:
【未解决】rcsjta项目编译出错:DisplayGeoloc.java使用了未经检查或不安全的操作
期间,此处暂时不去改。而是:
想办法先去实现:
有关详细信息, 请使用 -Xlint:unchecked 重新编译
看看详细信息提示的,是不是我们猜测的上面这段代码
please use Xlint unchecked recompile
Note: WarningDemo.java uses unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details.
都没说,如何
-Xlint:unchecked
说了,但是是针对maven的pom.xml的
我此处是gradle的
javac -Xlint:unchecked ATest.java
android studio gradle add Xlint unchecked
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