在网上找到的解决办法和老师的教程,结合整理了一下
1.创建Android项目
2.Android项目平级文件夹下创建Flutter module
3.Android项目中 settings.gradle添加如下代码:
setBinding(new Binding([gradle: this]))
evaluate(new File(
settingsDir.parentFile,
'<flutter module项目名>/.android/include_flutter.groovy'
))
注意:gradle6.8后 settings.gradle新增了如下配置
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
jcenter() // Warning: this repository is going to shut down soon
}
}
RepositoriesMode配置在构建中仓库如何设置,总共有三种方式:
FAIL_ON_PROJECT_REPOS
表示如果工程单独设置了仓库,或工程的插件设置了仓库,构建就直接报错抛出异常
PREFER_PROJECT
表示如果工程单独设置了仓库,就优先使用工程配置的,忽略settings里面的
PREFER_SETTINGS
表述任何通过工程单独设置或插件设置的仓库,都会被忽略
settings.gradle里配置了FAIL_ON_PROJECT_REPOS,而Flutter插件又单独设置了repository,所以会构建报错,因此需要把FAIL_ON_PROJECT_REPOS改成PREFER_PROJECT。
repositoriesMode.set(RepositoriesMode.PREFER_PROJECT)
但此时Android项目本身没有设置仓库,所有的依赖库都会找flutter module中配置的仓库下载依赖。所以需要在项目build.gradle中添加
//FlutterHybridAndroid/build.gradle
allprojects {
repositories {
google()
mavenCentral()
}
}
4.添加:flutter依赖
//FlutterHybridAndroid/app/build.gradle
...
dependencies {
implementation project(
':flutter'
)
...
}
解锁Flutter开发新姿势,,系统掌握Flutter开发核心技术。
了解课程