java使用或覆盖了已过时的 API。有关详细信息请使用-Xlint:deprecation重新编译
【背景】
之前折腾:
【记录】Android Studio中导入OsmAnd并编译
期间,遇到了编译警告:
:OsmAnd-java:compileJava
注: E:\crifan\DevRoot\Osmand-master\OsmAnd-java\src\net\osmand\util\GeoPointParserUtil.java使用或覆盖了已过时的 API。
注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。
注: 某些输入文件使用了未经检查或不安全的操作。
注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
如图:
【解决过程】
1.之前不知道如何解决。然后也没影响继续编译,所以当时就没理会。
2.后来看到:
Android Studio系列教程四–Gradle基础
中的:
// 移除lint检查的error
lintOptions {
abortOnError
false
}
猜测是,build.gradle中有对应的此处,可以添加lint的参数,估计上面说的:
-Xlint:deprecation
-Xlint:unchecked
的参数,或许可以放在这里。
所以去尝试一下。
但是在Osmand-java中的build.gradle中并没有看到那个(android下的)lintOptions
所以,还是去网上搜索这个问题吧。
3.搜:
android studio Xlint:deprecation
参考:
How to add -Xlint:unchecked to my Android Gradle based project? – Stack Overflow
去加上这个配置:
然后再去编译看看。
果然没了警告了:
【总结】
当Android Studio中编译java方面的代码,出现类似的警告:
- 有关详细信息, 请使用 -Xlint:deprecation 重新编译。
- 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
时,去项目对应的build.gradle中添加配置:
allprojects {
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs <<
"-Xlint:unchecked"
<<
"-Xlint:deprecation"
}
}
}
即可消除警告。