AndroidStudio升级Gradle到7+,compileSdkVersion 33+
一、概述
由于需求方的要求/需要,主动或被动的需要升级android的编译环境到CompileSdkVersion 33。此时直接更改android项目的编译版本会报错,as版本过低或者gradle插件太老了等。
也会遇到一些这样那样的bug,这一篇做一下简单的总结
升级方式:
以更改gradle配置为主:
1.修改根目录下的build.gradle并升级gradle插件
dependencies { classpath 'com.android.tools.build:gradle:7.2.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.10" }
2.更改gradle的版本为7.5
distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip
3.更改android的编译版本为33,目标版本也为33
compileSdkVersion 33 targetSdkVersion 33
4.进行同步操作
二、可能用到的问题
Could not resolve all dependencies for configuration ':classpath'. > Using insecure protocols with repositories, without explicit opt-in, is unsupported. Switch Maven repository 'maven2(http://maven.aliyun.com/nexus/content/groups/public/)' to redirect to a secure protocol (like HTTPS) or allow insecure protocols. See https://docs.gradle.org/7.5/dsl/org.gradle.api.artifacts.repositories.UrlArtifactRepository.html#org.gradle.api.artifacts.repositories.UrlArtifactRepository:allowInsecureProtocol for more details.
解决办法:把根目录下build.gradle中的maven中的http改为https
2.其他的一些bug,按照as提示一步步解决就行。这里提一下嘴,遇到问题多点

3.包冲突
Duplicate class com.alibaba.fastjson.JSON
4.includeCompileClasspath报错
Caused by: groovy.lang.MissingPropertyException: Could not set unknown property 'includeCompileClasspath' for AnnotationProcessorOptions_Decorated{classNames=[], arguments={AROUTER_MODULE_NAME=app}, compilerArgumentProviders=[]} of type com.android.build
暂时注释掉:includeCompileClasspath = true
5.
4.总结
相对来说升级还算顺利,并没有遇到特别恶心的问题。
浙公网安备 33010602011771号