android 交互动画教程,Flutter与Android原生简单交互

本文记录了一位开发者在尝试使用Flutter与原生Android交互过程中遇到的问题及解决方法,包括设置同一父目录、解决Gradle同步问题、调整minSdkVersion、启用Java8以及原生调用Flutter的方法。遇到的主要挑战包括找不到'libflutter.so'库和getLifecycle()方法的导入问题。作者分享了逐步解决问题的过程,并表示将继续完善文章。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先简单说一下我所需要用flutter与原生做的交互操作:原生向flutter传一个参数String

由于小白出身,安卓原生基本不会,从网上找的资料又大多数不全,里面有一些细节没有体现出来(怀疑是因为自己的水平太低,且flutter更新的比较快,与大神的教程有一些出入),导致小白水平的我踩了两天的坑

献上资料:

1.最先看的,大神写的很好,简单易懂,但是里面有几个重要的细节没有提(下面会提到)

2.后来查的资料,大哥写的也很好,里面提到了几个坑,

献上效果图:

初步完成,还有许多问题没有解决,比如原生Appbar没有取消,传参只传了一个,打包时候flutter会报错 couldn't find "libflutter.so"(以后会继续改进本文章)

f679f59c4d21

效果图

步骤:

第一步:分别建立Android项目,建立flutter module

具体步骤看上面大神的,里面需要注意的是:这两个项目必须是同一父目录

贴图:

f679f59c4d21

同一父目录

第二步:Android里面引入flutter

在建立的Android工程的settings.gradle中加入以下代码,这里需要注意的是:在Android studio里面,Binding会报红,这里不用管他,同步之后就好了(ps:这个纠结了好久)

```

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

evaluate(new File(

settingsDir.parentFile,

'flutter_module2/.android/include_flutter.groovy'

))

```

其中settingsDir.parentFile表示当前目录的父级目录,flutter_module2是前面所建立的Flutter Module目录,f后面的   /.android/include_flutter.groovy  照写就行。

同步之后的效果图:

f679f59c4d21

效果图

第三步,在Application Module的Build.gradle中依赖刚刚引入的library:

```

implementation project(':flutter')

```

这里需要注意的是,引入之后,同步的时候,会报错:

f679f59c4d21

报的错误

f679f59c4d21

错误图

这个错误是关于minSdkVersion的,原因是,native项目的minSdkVersion不能小于Flutter模块的minSdkVersion。解决方案就是把native项目的minSdkVersion的值修改为大于或者等于flutter模块的minSdkVersion的值,这里修改成16即可(建立Android项目时候默认的是15,即Android4.0.3,如果需要详细了解,请参考:https://ask.dcloud.net.cn/article/193)

f679f59c4d21

效果图

第四步:native项目必须使用Java 8,否则不让运行。所以我们需要在app目录下的build.gradle文件中添加如下代码:

```

android {

compileOptions {

sourceCompatibility 1.8

targetCompatibility 1.8

}

}

```

第五步:原生调用flutter的两种方式,具体参考大神的就行

这里需要注意的是,Flutter可能会报红,首先,这个Flutter是大写,emmm具体操作忘了,好像是执行第三步第四步之后之后就不报红了。下次来补上。

f679f59c4d21

最后一个问题,识别不了 getLifecycle() 方法,原因是没有import class,用alt+enter挨个加上就好了,如图

f679f59c4d21

----------------------------------------------分割线------------------------------------------------------2019.8.30--------------------------------------------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值