gradle

java使用或覆蓋了已過期的 API。有關詳細信息請使用-Xlint:deprecation從新編譯

 

【背景】java

以前折騰:android

【記錄】Android Studio中導入OsmAnd並編譯api

期間,遇到了編譯警告:android-studio

:OsmAnd-java:compileJava安全

注: E:\crifan\DevRoot\Osmand-master\OsmAnd-java\src\net\osmand\util\GeoPointParserUtil.java使用或覆蓋了已過期的 API。gradle

注: 有關詳細信息, 請使用 -Xlint:deprecation 從新編譯。ui

注: 某些輸入文件使用了未經檢查或不安全的操做。lua

注: 有關詳細信息, 請使用 -Xlint:unchecked 從新編譯。code

如圖:orm

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"

}

}

}

便可消除警告。

相關文章
相關標籤/搜索