請使用-Xlint:deprecation重新編譯


【已解決】Android Studio編譯OsmAnd出現警告:GeoPointParserUtil.java使用或覆蓋了已過時的 API。有關詳細信息請使用-Xlint:deprecation重新編譯

【背景】

之前折騰:

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

期間,遇到了編譯警告:

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 build osmand warning use deprecated api

【解決過程】

1.之前不知道如何解決。然后也沒影響繼續編譯,所以當時就沒理會。

2.后來看到:

Android Studio系列教程四–Gradle基礎

中的:

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

即可消除警告。

 


免責聲明!

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



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