[英]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 無法識別。
解決方案:
在您的終端類型java --version
中查看它是否顯示為 JDK 11
如果版本不是 JDK 11,則設置JAVA_HOME
環境變量export JAVA_HOME=/Users/${echo $USER}/documents/Android\Studio.app/Contents/jre/Contents/Home
在您的終端中輸入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.