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

news2025/1/23 11:55:18

不能飞的猪只是没用的猪。

—— 宫崎骏 《红猪》

 

 常见的1种case

记录一下,新电脑安装android studio导入公司那些gradle还是5.5左右的工程以后,各种不适应。编译问题出现了。老电脑都是好好的。

cvc-complex-type.2.4.a: 发现了以元素 ‘base-extension‘ 开头的无效内容。应以 ‘{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 的调整 … 使用 Android Gradle plugin
7.0 构建时需要 JDK 11 才能运行 Gradle … 并且只要你更新到 Android Studio Arctic Fox ,它是直接捆绑了 JDK 11 并将 Gradle 配置为默认使用它,所以大多数情况下,如果你本地配置正常,是可以直接使用 AGP 7.0
的升级。 … 在 Project Structure 的 SDK Location 栏目,可以看到 JDK 的配置位置已经被移动到
Gradle Settings …

 所以有的博客说,工程切换到gradle7.0就好了。但是我们不希望改变代码,毕竟公司那么多人,还有内网平台的编译工具,肯定是不能改变源码的gradle版本的。

结合上面的引用重点信息,“Android Gradle plugin 7.0 构建时需要 JDK 11 ”,
“它是直接捆绑了 JDK 11 并将 Gradle 配置为默认使用它”

懂了吧?反过来思考,老工程,使用的AGP(android gradle plugin)也是老的,那么他依赖的JDK也需要是老的1.8。

修改jdk的版本为1.8就可以解决啦!
所以新电脑或者新android studio不能用的原因,那是因为新版的android studio默认使用了jdk11,导致你的老工程在新电脑就不能用啦。

0328补充第二种:

上述操作为第一步。最近又还经常遇到提示:
那么,

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。
正确填写。
但是可能你会遇到一些墙的问题。只能整理下网络再行配置了。

请添加图片描述

 

一般这个都是在gradle编译通过后启动时候,jdk更换后 ,clean project 一定要保证网络通畅。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/924704.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

jvm的内存划分区域

jvm划分5个区域: java虚拟机栈、本地方法栈、堆、程序计数器、方法区。 各个区各自的作用: 1.本地方法栈:用于管理本地方法的调用,里面并没有我们写的代码逻辑,其由native修饰,由 C 语言实现。 2.程序计数…

生成式人工智能的潜在有害影响与未来之路(三)

产品责任法的潜在适用 背景和风险 产品责任是整个二十世纪发展起来的一个法律领域,旨在应对大规模生产的产品可能对社会造成的伤害。这一法律领域侧重于三个主要危害:设计缺陷的产品、制造缺陷的产品和营销缺陷的产品。产品责任法的特点有两个要素&…

PHPEXCEL 导出excel

$styleArray [alignment > [horizontal > Alignment::HORIZONTAL_CENTER,vertical > Alignment::VERTICAL_CENTER],];$border_style [borders > [allborders > [style > \PHPExcel_Style_Border::BORDER_THIN ,//细边框]]];$begin_date $request->beg…

一种采用KeePass+自建webdav服务的密码管理方案

一、概述 出于密码管理需求,查找了几种密码方案,发现KeePass坚果云keepass2android是大家反馈比较好的一种,支持电脑手机同步管理密码,深入使用后发现体验还不错,恰巧本身有公网ip,遂决定自建webdav服务来…

Elasticsearch 集成---框架集成SpringData-集成测试-索引操作

1.Spring Data 框架介绍 Spring Data 是一个用于简化数据库、非关系型数据库、索引库访问,并支持云服务的 开源框架。其主要目标是使得对数据的访问变得方便快捷,并支持 map-reduce 框架和云计 算数据服务。 Spring Data 可以极大的简化 JPA &a…

VR防地质灾害安全教育:增强自然灾害知识,提高自我保护意识

VR防地质灾害安全教育系统是一种虚拟仿真技术,可以通过虚拟现实技术模拟地震、泥石流、滑坡等地质灾害的发生和应对过程,帮助人们提高应对突发自然灾害的能力。这种系统的优势在于可以增强自然灾害知识,提高自我保护意识,锻炼人们…

java:Servlet

背景 我们访问浏览器访问一个地址,最终是访问到了这个 java 类,而 java 是运行在 Tomcat 上的,所以 Tomcat 作为一个服务器会把这个访问地址指向这个类中,这个类就是 Servlet,Servlet 就是一个具有一定规范的类&#x…

0101prox-shardingsphere-中间件

1 启动ShardingSphere-Proxy 1.1 获取 目前 ShardingSphere-Proxy 提供了 3 种获取方式: 二进制发布包DockerHelm 这里我们使用Docker安装。 1.2 使用Docker安装 step1:启动Docker容器 docker run -d \ -v /Users/gaogzhen/data/docker/shardings…

【动手学深度学习】--20.目标检测和边界框

文章目录 目标检测和边界框1.目标检测2.边界框 目标检测和边界框 学习视频:物体检测和数据集【动手学深度学习v2】 官方笔记:目标检测和边界框 在图像分类任务中,我们假设图像中只有一个主要物体对象,我们只关注如何识别其类别…

layui框架学习(39:数据表格_主要基础参数)

本文主要学习layui的数据表格模块中主要基础参数的意义及用法。   基础参数toolbar设置数据表格的工具栏样式,数据表格默认不显示工具栏,其值主要包括四类:1)值为true时,仅显示工具栏及工具栏的右侧自带菜单&#xf…

Lua基础知识

文章目录 1. Lua简介1.1 设计目的:1.2 特性1.3 应用场景 2. Lua脚本学习2.1 安装2.2 lua操作2.3 lua案例 学习lua主要是为了后续做高性能缓存架构所准备的基础技术。可以先了解下基础,在实际使用时,再查缺补漏。 1. Lua简介 Lua 是一种轻量小…

Elasticsearch 8.X reindex 源码剖析及提速指南

1、reindex 源码在线地址 为方便大家验证,这里给出 reindex github 源码地址。 https://github.com/elastic/elasticsearch/blob/001fcfb931454d760dbccff9f4d1b8d113f8708c/server/src/main/java/org/elasticsearch/index/reindex/ReindexRequest.java reindex 常见…

睿趣科技:抖音开网店要怎么找货源

在当今数字化的时代,电商平台的兴起为越来越多的人提供了开设网店的机会,而抖音作为一个充满活力的短视频平台,也为创业者提供了广阔的发展空间。然而,对于许多初次涉足电商领域的人来说,找到合适的货源却是一个重要的…

IIS之WEB服务器详解(下)

文章目录 前言一、如何在服务器发布自己的网站二、如何在同一服务器上发布多个网站 前言 上一篇博客我们已经在服务器上下载了 IIS-WEB 插件,里面有默认的网站,相当于做了一个简易的WEB网站。今天就来介绍如何配置自己的网站并发布,在WEB服务…

C# .aspx网页获取RFID读卡器HTTP协议提交的访问文件Request获得卡号、机号,Response回应驱动读卡器显示响声

本示例使用的设备:RFID网络WIFI无线TCP/UDP/HTTP可编程二次开发读卡器POE供电语音-淘宝网 (taobao.com) 服务端代码: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.…

leetcode59. 螺旋矩阵 II(java)

螺旋矩阵 题目描述缩进法 上期经典 题目描述 难度 - 中等 原题链接 - 螺旋矩阵 示例1&#xff1a; 输入&#xff1a;n 3 输出&#xff1a;[[1,2,3],[8,9,4],[7,6,5]] 示例 2&#xff1a; 输入&#xff1a;n 1 输出&#xff1a;[[1]] 提示&#xff1a; 1 < n < 20 缩进法…

Leetcode每日一题:1782. 统计点对的数目(2023.8.24 C++)

目录 1782. 统计点对的数目 题目描述&#xff1a; 实现代码与解析&#xff1a; hash 双指针 原理思路&#xff1a; 1782. 统计点对的数目 题目描述&#xff1a; 给你一个无向图&#xff0c;无向图由整数 n &#xff0c;表示图中节点的数目&#xff0c;和 edges 组成&am…

【C++初阶】list的常见使用操作

&#x1f466;个人主页&#xff1a;Weraphael ✍&#x1f3fb;作者简介&#xff1a;目前学习C和算法 ✈️专栏&#xff1a;C航路 &#x1f40b; 希望大家多多支持&#xff0c;咱一起进步&#xff01;&#x1f601; 如果文章对你有帮助的话 欢迎 评论&#x1f4ac; 点赞&#x1…

Opencascad(C++)-建模-创建有界直线段

文章目录 1、 前言2、用gp_Lin创建一条直线2.1 gp_Lin类成员函数2.2 创建一条直线2.3 运行结果 3、创建一条有界的直线段3.1 功能说明3.2 函数说明3.2 创建直线段的代码3.3 测试效果 1、 前言 在Opencascad开发时&#xff0c;经常会遇到创建直线的情况&#xff0c;采用gp_Line…

计算机终端核心安全配置规范

声明 本文是学习 政务计算机终端核心配置规范. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 范围 本标准提出了政务计算机终端核心配置的基本概念和要求&#xff0c;规定了核心配置的自动化实现方法&#xff0c;规范了核心配置实施流程。 本标准适…