折腾:
【未解决】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