记录一下,新电脑安装新版的Android Studio(小蜜蜂版本)导入那些gradle还是5.1.1(
distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip
)的项目以后,各种不适应,编译出现了一些问题。使用旧版本Android Studio(3.0.1)打开这个项目还是好好的。
报错具体内容如下:cvc-complex-type.2.4.a: 发现了以元素 ‘base-extension‘ 开头的无效内容。
解决步骤如下:
跟随 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 …
1、首先修改项目的jdk版本,新版的Android Studio(小蜜蜂版本)创建项目的jdk默认是jdk11(如下图一),如果是老的项目,可能不是jdk11,而是jdk1.8,需改成jdk11(File->Setting->搜索Gradle,选择JDK的路径->点击OK,见下图二)。
2、修改项目下的(注意是project下的,不是module下的)build.gradle文件的配置项,把
classpath 'com.android.tools.build:gradle:3.0.1'
改成
classpath 'com.android.tools.build:gradle:4.2.0'
(我的已修改,见下图一)
3、修改项目的gradle配置项,把
distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip
改成
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-all.zip
(我的已修改,见下图一)
4、编译通过之后,看着像是没什么问题了。可是run到手机的时候,又出现了一些问题,问题是老版本的依赖(module下的dependencies标签下的依赖)与项目下的(注意是project下的,不是module下的)build.gradle的classpath 'com.android.tools.build:gradle:4.2.0'不兼容
引起的,比如高德地图这几个依赖。
解决方法:
把高德地图的老版本依赖
//高德地图
//3D地图so及jar
compile 'com.amap.api:3dmap:latest.integration'
//定位功能
compile 'com.amap.api:location:latest.integration'
//搜索功能
compile 'com.amap.api:search:latest.integration'
换成新的高德地图的依赖,文章来源:https://www.toymoban.com/news/detail-813097.html
//高德地图
//3D地图so及jar
implementation 'com.amap.api:3dmap:5.0.0'
//定位功能
implementation 'com.amap.api:location:3.3.0'
//搜索功能
implementation 'com.amap.api:search:5.0.0'
如果别的依赖也不兼容的话,根据提示把别的不兼容的依赖也替换成新的就没问题了。文章来源地址https://www.toymoban.com/news/detail-813097.html
到了这里,关于cvc-complex-type.2.4.a: 发现了以元素 ‘base-extension‘ 开头的无效内容。(解决方案的最全整理)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!