cvc-complex-type.2.4.a: 发现了以元素 ‘base-extension‘ 开头的无效内容。应以 ‘{layoutlib}‘ 之一开头
常見的1種case
記錄一下,新電腦安裝android studio導入公司那些gradle還是5.5左右的工程以后,各種不適應(yīng)。編譯問題出現(xiàn)了。老電腦都是好好的。
cvc-complex-type.2.4.a: 發(fā)現(xiàn)了以元素 ‘base-extension‘ 開頭的無效內(nèi)容。應(yīng)以 ‘{layoutlib}‘ 之一開頭這樣的錯誤。
解決方案:
小齒輪->project structure->SDK Location-> (JDK location was moved to Gradle Settings)點擊Gradle Settings。
或者
Android Studio -> Preferences -> 搜索Gradle-> Gradle JDK 改成1.8。
官方其他信息補充:
跟隨 Arctic Fox 更新的其中一個重點就是 AGP 7.0 的調(diào)整 … 使用 Android Gradle plugin
7.0 構(gòu)建時需要 JDK 11 才能運行 Gradle … 并且只要你更新到 Android Studio Arctic Fox ,它是直接捆綁了 JDK 11 并將 Gradle 配置為默認使用它,所以大多數(shù)情況下,如果你本地配置正常,是可以直接使用 AGP 7.0
的升級。 … 在 Project Structure 的 SDK Location 欄目,可以看到 JDK 的配置位置已經(jīng)被移動到
Gradle Settings …
所以有的博客說,工程切換到gradle7.0就好了。但是我們不希望改變代碼,畢竟公司那么多人,還有內(nèi)網(wǎng)平臺的編譯工具,肯定是不能改變源碼的gradle版本的。
結(jié)合上面的引用重點信息,“Android Gradle plugin 7.0 構(gòu)建時需要 JDK 11 ”,
“它是直接捆綁了 JDK 11 并將 Gradle 配置為默認使用它”
懂了吧?反過來思考,老工程,使用的AGP(android gradle plugin)也是老的,那么他依賴的JDK也需要是老的1.8。
修改jdk的版本為1.8就可以解決啦!
所以新電腦或者新android studio不能用的原因,那是因為新版的android studio默認使用了jdk11,導致你的老工程在新電腦就不能用啦。
0328補充第二種:
上述操作為第一步。最近又還經(jīng)常遇到提示:
那么,
project structure->Project頁,發(fā)現(xiàn)android gradle plugin version是空的。
從 https://developer.android.google.cn/studio/releases/gradle-plugin.html
找到對應(yīng)的,比如我這里是5.5.1的gradle版本,那么選擇一個最高一點的3.5.4能支持的AGP version。
正確填寫。
但是可能你會遇到一些墻的問題。只能整理下網(wǎng)絡(luò)再行配置了。
2022.06.14補充:
下載,
最新的android bumblebee確實某些老工程編譯不行。
使用arctic fox是可以的。
仍然無法解決
老版本android studio了。
總結(jié)
以上是生活随笔為你收集整理的cvc-complex-type.2.4.a: 发现了以元素 ‘base-extension‘ 开头的无效内容。应以 ‘{layoutlib}‘ 之一开头的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java compile方法_Java中
- 下一篇: 免费10分钟邮箱上线啦~~