记录一下,新电脑安装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,导致你的老工程在新电脑就不能用啦。
|