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"
         }
     }
}

便可消除警告。

相關文章
相關標籤/搜索