Android 与flutter (Module)混合开发遇到的问题(Gradle7.2)

1.创建Flutter  module

file->new flutter project->(1)progect type:选择module模块,(2)progect location 选择 在AndroidDemo下

2.开始将flutter module 引入到 Android原生项目中

(1) settings.gradle中:

在include ':app'下添加:

include ':test_model_44'
setBinding(new Binding([gradle: this]))                                
evaluate(new File(                                                     
        settingsDir.parentFile,                                        
        'MyApplication44/test_model_44/.android/include_flutter.groovy'                        
))

坑1:很多文章写的 evaluate(new File( settingsDir.parentFile, 'test_model_44/.android/include_flutter.groovy' )) 编译后会报找不到 include_flutter.groovy

若是不知道路径,可以输出 settingsDir.parentFile 的路径

例如: print settingsDir.parentFile

(2) 在build.gradle(app)中添加module

implementation project(':flutter') //这是固定死了的

3.编译项目

坑2: 编译项目后会报

Caused by: org.gradle.api.InvalidUserCodeException: Build was configured to prefer settings repositories over project repositories but repository ‘maven’ was added by plugin class ‘FlutterPlugin’

解决方案: 将 

seetings.gradle中的(RepositoriesMode.FAIL_ON_PROJECT_REPOS)改为(RepositoriesMode.PREFER_PROJECT)

再次编译,很幸运,没有编译出错了

4.怀着期待的心情运行项目,发现会报 

 坑3: 看着这个错,就知道是没有加maven ,嗯,在settings.grade的 pluginManagement 和 dependencyResolutionManagement 里面加了相关的仓库后,再次编译+运行,还是报这个错

再次问问度娘,说要在 gradle.properties中添加  android.enableJetifier=true 再次编译+ 运行

还是报这个错

暴脾气一来,想降gradle的版本

菜鸟表示,换了之后 还是有一堆问题

凭着直觉,觉得是改了RepositoriesMode的原因,然后就去看看有什么区别,度娘总是在你快绝望的时候,努力了一下,然后搜到了 Android与flutter混合开发 - 简书

这个的文章,点进去一看,嗯,解决问题了

下面是我settings.grade和build.gradle的所有内容

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值