-Xlint:deprecation重新编译
Build的时候打开了Build输出窗口,平时没注意看,没想到看到一句警告信息,虽然都是正常编译通过:
注: 某些输入文件使用或覆盖了已过时的 API。
注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。
注: ...\PercentLayoutActivity.java使用了未经检查或不安全的操作。
注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
参考网上的资料,在整个项目或者单独模块的build.gradle中添加:
allprojects {
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
}
}
}还以为这个配置是让之前的那两个警告消失呢。没想到弄出一大堆,把所有过时的,未检查的方法调用都揪出来:
影响不大,也能运行。也有解决办法:
①把API都换成最新的,毕竟现在用的都已经“过时”了
②在警告的方法全部加上@SuppressWarnings("unchecked")、@SuppressWarnings("deprecation")之类的注解
③还是把前面的build.gradle中加上的配置去掉吧,这种Java编译选项过于“严格”
参考资料:
Android Studio编译OsmAnd出现警告:GeoPointParserUtil.java使用或覆盖了已过时的 API

