gradle


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"

}

}

}

即可消除警告。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM