簡體   English   中英

如何在 Android Studio 中使用 ButterKnife 修復此錯誤?

[英]How can I fix this error with ButterKnife in Android Studio?

構建成功,但在模擬器上運行失敗,並在控制台中顯示以下消息:

原因:超類訪問檢查失敗:class butterknife.compiler.ButterKnifeProcessor$RScanner(在未命名模塊@0x65e8e2f6 中)無法訪問 class com.sun.tools.javac.tree.TreeScanner(在模塊 jdk.compiler 中)將 com.sun.tools.javac.tree 導出到未命名模塊 @0x65e8e2f6

我嘗試過的:從 Gradle 中刪除 Butterknife,同步,添加回來,再次同步。 完全刪除 Butterknife 庫不會在編譯時產生此錯誤,但顯然由於缺少 Butterknife 而無法編譯。

我的環境: Butterknife 10.2.3 Android Grade Plugin 版本:7.1.2 - Gradle 版本:7.2 - Android Studio Bumblebee

我讀到過這個錯誤發生在其他庫中,在極少數情況下似乎與我的無關,但我仍然沒有找到解決方案。 我知道 Butterknife 已被棄用,我應該遷移到 ViewBinding,但目前將整個項目轉換為該項目是一項艱巨的任務。 謝謝!

您應該使用不同的 jdk 進行編譯,我正在使用過於高級的 jdk 進行編譯。 將其還原為 jdk11 為我解決了

請使用 JDK 11。雖然我們將 Gradle JDK 設置為 jdk11 或 correto 11,但 Android Studio 無法識別。

解決方案:

  1. 在您的終端類型java --version中查看它是否顯示為 JDK 11

  2. 如果版本不是 JDK 11,則設置JAVA_HOME環境變量export JAVA_HOME=/Users/${echo $USER}/documents/Android\Studio.app/Contents/jre/Contents/Home

  3. 在您的終端中輸入java --version以查看它是否顯示為 JDK 11。

使用上述答案中的想法並使用 Android Studio:文件 | 設置 | 構建、執行、部署 | 構建工具 | Gradle。Gradle JDK -> Android Studio 默認 JDK(版本 11.0.13 ...)

在 Windows 上,要從終端構建,還必須添加

JAVA_HOME=C:\Program Files\Android\Android Studio\jre

到文件 | 設置 | 航站樓 | 環境變量

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM