【已解决】Android Studio编译OsmAnd出现警告:GeoPointParserUtil.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 重新编译。

如图:

android studio build osmand warning use deprecated api

【解决过程】

1.之前不知道如何解决。然后也没影响继续编译,所以当时就没理会。

2.后来看到:

Android Studio系列教程四–Gradle基础

中的:

    // 移除lint检查的error
    lintOptions {
      abortOnError false
    }

猜测是,build.gradle中有对应的此处,可以添加lint的参数,估计上面说的:

-Xlint:deprecation
-Xlint:unchecked

 

的参数,或许可以放在这里。

所以去尝试一下。

但是在Osmand-java中的build.gradle中并没有看到那个(android下的)lintOptions

not see lintoption in build.gradle of osmand-java

 

所以,还是去网上搜索这个问题吧。

3.搜:

android studio Xlint:deprecation

参考:

How to add -Xlint:unchecked to my Android Gradle based project? – Stack Overflow

去加上这个配置:

build.gradle added allproject xlint deprecation

然后再去编译看看。

果然没了警告了:

now osmand-java compilejava up to date ok

 

【总结】

当Android Studio中编译java方面的代码,出现类似的警告:

  • 有关详细信息, 请使用 -Xlint:deprecation 重新编译。
  • 有关详细信息, 请使用 -Xlint:unchecked 重新编译。

时,去项目对应的build.gradle中添加配置:

allprojects {
    gradle.projectsEvaluated {
        tasks.withType(JavaCompile) {
            options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
        }
    }
}

即可消除警告。



发表评论

电子邮件地址不会被公开。 必填项已用*标注

无觅相关文章插件,快速提升流量