當使用Java 8功能時,我在非android模塊中獲得call requires api level X
。 如何刪除它。 與註釋抑制似乎沒有以正確的方式給我調用需要在非android模塊中的api級別
回答
https://developer.android.com/guide/platform/j8-jack.html
Android支持所有的Java 7語言功能和對Java 8語言特性,通過平臺版本而異的一個子集。
對Java 8語言功能的支持需要一個名爲Jack的新編譯器。 Jack僅支持Android Studio 2.1及更高版本。
Android不支持所有Java 8語言功能。然而,開發應用定位的Android 7.0 (API級24)當使用以下功能:
- 默認和靜態接口方法
- Lambda表達式(也可在API級23和下部)
- 重複標註
- 方法引用(也API級別23可用,下)
- 類型的註釋(也API級別23可用,下)
...強調我。
Ups,現在我明白你不是在問關於Android模塊......所以你怎麼樣使用那些?如果將它們集成到Android應用程序中,即使它們沒有調用任何Android API,它們仍然必須遵守上述規則,但它們將由Android OS JVM運行。如果您僅在支持Java8的普通完整JVM上使用它們(例如在主機操作系統上運行的JUnit測試)(以便代碼不會落入.apk),只需將lint作爲緊急解決方案關閉即可。儘管我不知道它是不是應該足夠聰明才能意識到你沒有在Android代碼中使用Java8。 – Ped7g
這裏不是OP。在我的項目中,它抱怨在我們使用API API 14的應用程序庫模塊上的「調用需要API級別9(當前最小值爲1)」。 – Giszmo
@Giszmo Java8相關性如何?如果特定的API調用有問題,那麼我認爲這是不同的皮棉檢查?爲什麼你的構建過程認爲它是在「當前minSdk = 1」:我不知道,谷歌或發佈問題的全部細節(構建腳本,項目定義等)。但是我沒有看到你的問題與Java8特性的聯繫。 – Ped7g
- 1. Intellij Idea 2016.3在非Android模塊中抱怨Android API級別
- 2. Alertdialog.Builder setview:調用需要API級別21
- 3. Android查看需要API級別14
- 4. Google AD(ADmobs)需要APi級別4.0 Android
- 5. Android API級別要求
- 6. Android API級別要求
- 7. 非支持庫android項目所需的最低API級別
- 8. 無法擴展ListFragment - 「調用需要API級別11」
- 9. 調用需要API級別11(當前最小爲9)android.app.Activity#onCreateView
- 10. 調用需要API級別11(當前最小爲8):android.widget.EditText#setAlpha
- 11. TextureView setSurfaceTexture方法需要API 16級別
- 12. CoffeeScript的需要時調用模塊掛
- 13. Android:在API級別9中使用PopupMenu
- 14. 最低Android API級別AdMob必需?
- 15. 在API級別的Android的<API級別旋轉的ImageView 11
- 16. 如何解決「通話需要API級別11」與Android Activity?
- 17. Android工作室:通話需要API級別16錯誤
- 18. Android:使用Google Vision API的最低API級別要求?
- 19. Android SDK API級別
- 20. Android:在SDK中找不到想要的API級別
- 21. 在Node.js中需要Forever模塊用於Rest API
- 22. 需要在API中調用列表
- 23. 在requirejs中識別調用模塊
- 24. 使用XML可繪製主題引用需要API級別21
- 25. 在Qt中選擇Android API級別QMake
- 26. Android Studio:無法在TreeMap上調用.remove(),同時使用API級別23(需要24)
- 27. 在API級別8使用來自API級別18的Android AccessabilityService功能
- 28. 在ReactJS中需要模塊的麻煩
- 29. 調用需要API級別16(當前最小值爲14):android.app.Notification.Builder#build
- 30. setAdapter「調用需要API級別11(當前最小爲8):android.widget.AbsListView#setAdapter」?
你解決了嗎? https://code.google.com/p/android/issues/detail?id=78382外觀相關。 – Giszmo
發佈您的Gradle文件和代碼,以便SO成員可以重現相同的行爲,只需按照[如何創建最小,完整和可驗證的示例](http://stackoverflow.com/help/mcve)以及關於studio的詳細信息, JDK版本雖然錯誤報告(通過Giszmo鏈接)似乎引人注目 –
張貼您的代碼和gradle – NishchalAndroid