cvc-complex-type.2.4.a: 发现了以元素 ‘base-extension‘ 开头的无效内容。应以 ‘{layoutlib}‘ 之一开头。

✍️作者简介:沫小北(专注于Android、Web、TCP/IP等技术方向)
博客主页:沫小北 CSDN、51cto博客、稀土掘金、简书、知乎、开源中国、博客园、慕课网
系列专栏:码农小北
如果文章对您有一定的帮助请关注✨、点赞、收藏、评论。
如需转载请参考【转载须知】

最近跑一些老项目老是报错各种问题其中就发现了一个不常见的问题:
cvc-complex-type.2.4.a: 发现了以元素 ‘base-extension’ 开头的无效内容。应以 ‘{layoutlib}’ 之一开头。
android studio导入公司那些老工程gradle还是5.5左右的,各种不适应。编译问题出现了。

最简单的是升级Gradle ----

gradle-wrapper.properties 文件
distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-all.zip
build.gradle 文件
classpath 'com.android.tools.build:gradle:4.2.2'

以上是最简单的解决方案但是如果在项目上使用就不方便了,所以可以看看下面 另一种解决方式

解决方案:

设置->project structure->SDK Location-> (JDK location was moved to Gradle Settings)点击Gradle Settings。
或者Android Studio -> Preferences -> 搜索Gradle-> Gradle JDK 改成11。
使用 Android Gradle plugin7.0 构建时需要 JDK 11 才能运行 Gradle

[File]->[Project Structure]里面的Android Gradle Plugin Version和Gradle Version 升级Gradle

cvc-complex-type.2.4.a: 发现了以元素 ‘base-extension‘ 开头的无效内容。应以 ‘{layoutlib}‘ 之一开头。_第1张图片

[File]->[Settings] 如下图,找到Gradle JDK版本,有问题的工程要跟正常能运行的工程,配置保持一致。
cvc-complex-type.2.4.a: 发现了以元素 ‘base-extension‘ 开头的无效内容。应以 ‘{layoutlib}‘ 之一开头。_第2张图片

工程切换到gradle7.0就好了。但是对于公司协作的代码一个人升级都需要跟着升级,有可能影响同事使用!

另一种解决方式

project structure->Project页,发现android gradle plugin version是空的。
从 https://developer.android.google.cn/studio/releases/gradle-plugin.html
找到对应的,比如我这里是5.5.1的gradle版本,那么选择一个最高一点的3.5.4能支持的AGP version。正确填写。但是可能你会遇到一些墙的问题。只能整理下网络再行配置了。
cvc-complex-type.2.4.a: 发现了以元素 ‘base-extension‘ 开头的无效内容。应以 ‘{layoutlib}‘ 之一开头。_第3张图片

补丁下载 使用arctic fox解决以上问题

cvc-complex-type.2.4.a: 发现了以元素 ‘base-extension‘ 开头的无效内容。应以 ‘{layoutlib}‘ 之一开头。_第4张图片
如果还是无法解决那么就去下载老版本的Android studio

你可能感兴趣的:(码农小北,android)