Android Studio编译OsmAnd出现警告:GeoPointParserUtil.java使用或覆盖了已过期的 API。有关详细信息请使用-Xlint:deprecation从新编译

【背景】java

以前折腾:android

【记录】Android Studio中导入OsmAnd并编译shell

期间,遇到了编译警告:api

1
2
3
4
5
:OsmAnd-java:compileJava
注: E:\crifan\DevRoot\Osmand-master\OsmAnd-java\src\net\osmand\util\GeoPointParserUtil.java使用或覆盖了已过期的 API。
注: 有关详细信息, 请使用 -Xlint:deprecation 从新编译。
注: 某些输入文件使用了未经检查或不安全的操做。
注: 有关详细信息, 请使用 -Xlint:unchecked 从新编译。

如图:android-studio

android studio build osmand warning use deprecated api

【解决过程】安全

1.以前不知道如何解决。而后也没影响继续编译,因此当时就没理会。gradle

2.后来看到:ui

Android Studio系列教程四–Gradle基础lua

中的:spa

1
2
3
4
// 移除lint检查的error
lintOptions {
   abortOnError false
}

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

1
2
-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中添加配置:

1
2
3
4
5
6
7
allprojects {
     gradle.projectsEvaluated {
         tasks.withType(JavaCompile) {
             options.compilerArgs << "-Xlint:unchecked"  << "-Xlint:deprecation"
         }
     }
}

便可消除警告。

相关文章
相关标签/搜索