flutter踩坑记录(一)--项目准备阶段

flutter踩坑记录目录

flutter踩坑记录(二)--基本使用及原生flutter交互篇  https://blog.csdn.net/hjr365708064/article/details/95459151

flutter踩坑记录(三)-- 项目打包  https://blog.csdn.net/hjr365708064/article/details/95473183

写此贴为原生Android项目集成flutter工程各种踩坑点及目前解决办法记录所用,如若不适用,请参考网络其他帖子(谨慎接入,做好踩准备)。

一.创建并依赖flutter的module工程。

1.有一个Android原生工程(如若没有可新建一个原生工程)

比如工程名MyApplication

2.创建Flutter Module

在cd到当前project下运行命令:(一定通过命令行进入项目工程目录下再进行执行创建命令)

flutter create -t module flutter_MyApplicationMyApplication是用户自定义名称,可取flutter_MyApplication

3.增加原生集成moudle配置代码

在工程setttings.gradle中增加配置:

    在include模块语句下方或者说代码最下面

  1. setBinding(new Binding([gradle: this]))

     2.evaluate(new File(settingsDir, 'my_flutter/.android/include_flutter.groovy'))

接下来在app的build.gradle增加依赖:(在app下依赖,是为后续正式打包做准备,因为目前的情况来看,正式打包时依赖压缩的aar文件比直接依赖module工程兼容性会更好,而aar文件在模块化项目工程中是不能使用api依赖放在library库中逐级依赖的,顾考虑aar情况参考网上其他帖子,做一个isDebug变量区分debug与正式打包,debug依赖module,正式依赖aar是目前来看兼容性最好的方法)(若原生打包使用的微信的andResguard打包方式,module方式依赖不成功,aar方式可以,亲测)

     implementation project(':flutter')

此时可能会报错:

   Error: Invoke-customs are only supported starting with Android O (--min-api 26)

(错误原因是因为原生项目中没有使用jdk1.8配置,需要增加)

在app的build.gradleandroid标签下增加:

compileOptions{

sourceCompatibility JavaVersion.VERSION_1_8

targetCompatibility JavaVersion.VERSION_1_8

}

4.(一般文章到此步就说flutter集成已结束,但如果你的原生项目使用的AndroidX做依赖包,还需要下面一些配置)

1.修改flutter_MyApplication(自定义的flutter的module文件名,上面有提到)目录下的.android下面的flutter文件目录下面的build.gradle文件,修改supportV7依赖为Androidx下的v7依赖

implementation 'androidx.appcompat:appcompat:1.0.2'

此时右上角提示syn now同步完成后,会发现Flutter和flutterFragment文件会报错,是因为AndroidSupport包依赖找不到所致,

此时把缺少爆红的依赖项改为AndroidX下面

flutter文件下:

import androidx.annotation.NonNull;
import androidx.lifecycle.Lifecycle;
import androidx.lifecycle.LifecycleObserver;
import androidx.lifecycle.OnLifecycleEvent;

flutterFragment文件下:

import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;

到此时就可发现引入的flutter模块已不报错

最后生成的目录结构:

经过上面4步就已经集成Flutter了

参考原文链接 https://blog.csdn.net/weixin_33943347/article/details/91430352

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值