当我们把Android studio版本更新到Bumblebee版本时,我们会发现创建新的项目时,有了一些改变。
项目根目录下面的build.gradle变了:
旧版本下的是这样子的:
setting.gradle也有了变化:
旧版本下的setting.gradle中可能只有一个include ':app',再多一点可能有个rootProject.name的配置。
旧的项目导入后,Android studio 会提示你升级AGP(Android Gradle Plugin),有提示按提示操作,其实也不难。但是呢,升级完成后,可能你的项目运行不起来。自动升级后的配置方法,并没有改成新的写法,还是按之前的旧写法来改变的,只是改了版本号。
那么怎么才能修改成功,让项目可以运行呢?并不难,照葫芦画瓢就可以了。
1.把原来写在build.gradle中的repositories移到setting.gradle中去。
2.在build.gradle中增加那个plugins
3.如果build.gradle中的dependencies里只有android官方的东西,那么可以直接删除这个dependencies了。如果有其它第三方的classpath,那么只保留这其它第三方的classpath,删除以前默认会有的android的部分。
4.某些旧的项目的build.gradle中会有allprojects{repositories{}},这个也是可以删除不要的。
5.setting.gradle中要写的是pluginManagement(新项目会自动生成它)、dependencyResolutionManagement(新项目写会自动生成它)。pluginManagement和dependencyResolutionManagement可以直接从新项目中复制过来,进行修改。
某旧项目修改后的截图:
----------分隔线------------
换掉build.gradle->dependencies->classpath的例子
以前的项目中使用hilt要加下面这个东西。
dependencies {
classpath "com.google.dagger:hilt-android-gradle-plugin:2.39"
}
能不能把这东西改成写在plugins里呢?
试过之后知道不行。
那怎么办呢?在setting.gradle里做一些处理。
这样子可以了吗?还差一点儿。
Module中的build.gradle,需要给hilt插件加版本号,不加会报错。