关于settings.gradle的变化
之前的版本仅仅包含了项目和module的配置
rootProject.name = "My Application"include ':app'include ':mylibrary'
新版本中也增加了插件的配置
pluginManagement { repositories { //注意由于项目中配置了私服maven,且使用http地址,需要在maven中配置allowInsecureProtocol = true maven { url "http://xxxxxxxx/repository/maven-public/" allowInsecureProtocol = true } gradlePluginPortal() google() mavenCentral() }}dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { //注意由于项目中配置了私服maven,且使用http地址,需要在maven中配置allowInsecureProtocol = true maven { url "http://xxxxxxxx/repository/maven-public/" allowInsecureProtocol = true } maven { url "https://jitpack.io" } google() mavenCentral() }}rootProject.name = "My Application"include ':app'include ':mylibrary'
关于项目的build.gradle的变化
buildscript { ext { kotlin_version = '1.6.10' } dependencies { classpath "com.alibaba:arouter-register:1.0.2" }}plugins { id 'com.android.application' version '7.3.0-alpha04' apply false id 'com.android.library' version '7.3.0-alpha04' apply false id 'org.jetbrains.kotlin.android' version '1.6.10' apply false}apply from: "config.gradle"
app或者module内的build.gradle的变化
其中部分关键词进行了缩短优化
apply plugin变更为plugins
apply from还可以正常使用
部分属性更名
属性
Old
New
参与编译 SDK 版本
compileSdkVersion
compileSdk
最小支持 SDK 版本
minSdkVersion
minSdk
目标 SDK 版本
targetSdkVersion
targetSdk
plugins { id 'com.android.application' id 'org.jetbrains.kotlin.android' id 'kotlin-kapt'}apply from 'xxx.gradle'android { //指定包名 namespace "com.xxx.xxx" compileSdk 31 defaultConfig { minSdk 21 targetSdk 31 //对于 com.android.library 类型的 Module 默认不再需要 versionCode 和 versionName 属性. versionCode 1 versionName rootProject.ext.MAPCOM_VERSION /** * BuildConfig文件中有属性找不到,形成原因:老版本的gradle会把defaultConfig中的versionCode和 * versionName属性自动变成VERSION_CODE和VERSION_NAME属性加在BuildConfig文件中, * 而新版本的gradle文件不会管这个 */ buildConfigField "String", "VERSION_NAME", "\"${rootProject.ext.MAPCOM_VERSION}\""}...}
重大更改:
1、构建选项默认值
Flag
新的默认值
以前的默认值
说明
android.defaults.buildfeatures.buildconfig
false
true
AGP 8.0 默认不产生BuildConfig
android.defaults.buildfeatures.aidl
false
true
AGP 8.0 默认不启用AIDL支持
android.defaults.buildfeatures.renderscript
false
true
AGP 8.0 默认不启用RenderScript支持
android.nonFinalResIds
true
false
AGP 8.0 默认使用non-final fields产生R类
android.nonTransitiveRClass
true
false
AGP 8.0仅为当前模块中定义的资源生成R类。
android.enableR8.fullMode
true
false
AGP 8.0 默认启用 R8 完整模式。更多详情请参见 R8全模式。
2、具体设置方式为:
在模块中设置,只对该模块生效:
android { buildFeatures { buildConfig = true }}
在gradle.properties中添加一行,对所有模块生效:
android.defaults.buildfeatures.buildconfig = true
用户评论
终于更新到了Gradle 8.0了,感觉开发体验确实上了一层楼!
有8位网友表示赞同!
升级后项目构建速度更快了耶,以前总是卡在那儿...
有9位网友表示赞同!
文档写得超级详细,升级相当顺利,就是希望能有更多中文资料。
有10位网友表示赞同!
新的Gradle 8.0支持的新功能还挺实用的,感觉开发效率提升了不少!
有15位网友表示赞同!
这个版本修复了许多漏洞,对项目安全性增强了不少。
有5位网友表示赞同!
升级后界面更加简洁易懂,开发者操作起来更方便。
有13位网友表示赞同!
终于可以告别旧版Gradle的各种兼容问题了,太棒啦!
有8位网友表示赞同!
期待未来更多版本的提升,Android Studio简直就是我的必备工具!
有11位网友表示赞同!
这款studio真棒,能持续更新迭代,开发者都能感受到进步。
有12位网友表示赞同!
升级到Gradle 8.0以后感觉项目稳定性更好。
有10位网友表示赞同!
感谢开发团队的努力,让Android Studio越来越好!
有8位网友表示赞同!
新功能还没来得及尝试,期待尽快熟悉它们!
有5位网友表示赞同!
希望未来的版本能够支持更多语言,让开发者更便捷。
有12位网友表示赞同!
升级过程非常顺畅,没有遇到任何问题。
有6位网友表示赞同!
Android Studio和Gradle 8.0的强大组合,让我开发起来更加高效。
有14位网友表示赞同!
这个更新记录总结很详细,方便我了解最新的变化!
有15位网友表示赞同!
终于可以尝试一下新版本的Gradle带来的一些创新功能了!
有14位网友表示赞同!
Android Studio 和 Gradle 的完美配合让我的安卓开发体验大大提升!
有16位网友表示赞同!
这个版本对提高开发效率很有帮助,推荐给所有Android开发者!
有10位网友表示赞同!