原生Android应用接入flutter是混合开发的一种常用方式,但是其中会涉及flutter和一些android配置,还是很容易踩坑的,花了很长时间终于成功了,记录下来

步骤一:构建项目
Android项目接入flutter需要Android原生目录和flutter module目录,注意将他们放在同一个文件夹下面

  • flutter_hybrid

    • flutter_module (flutter module目录文件)
    • MyApp(原生android)

flutter_module可以使用命令创建

flutter create -t module flutter_module

原生android项目可以使用Android Studio创建
具体步骤
File>new Project>EmptyActivity>finished>创建成功

步骤二:基础准备
有了flutter moduel和android项目还不着急接入,需要先进行一些基础的准备才能够顺利接入
首先
Flutter 库打包成由 AAR 和 POM artifacts 组成的本地 Maven 存储库,在flutter module文件夹下使用命令

flutter build aar

成功信息,这里需要注意:按照成功信息进行集成操作
按照图片中的内容操作就行,这里提几个进行集成操作的注意(细节)点

  1. 集成信息中的repostories的配置信息现在已经不在build.gradle中进行配置了,需要转移到settints.gradle中配置,否则会报错
  2. 其余信息在build.gradle(app)中配置,但是默认并不提供profileImplementation,所以需要在buildTypes添加profile类型,推荐先添加类型,最后Sync now

步骤三:接入
到了这一步就快成功了
Flutter 提供了 FlutterActivity,用于在 Android 应用内部展示一个 Flutter 的交互界面。和其他的 Activity 一样,FlutterActivity 必须在项目的 AndroidManifest.xml 文件中注册。

<activityandroid:name="io.flutter.embedding.android.FlutterActivity"android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"android:hardwareAccelerated="true"android:windowSoftInputMode="adjustResize"/>

在MainActivity中导入flutterActivity,后面会自己加载里面的flutterActivity

import io.flutter.embedding.android.FlutterActivity;

在Android原生项目中添加一个button按钮,作用是打开flutter模块

它的点击事件

public void sendMessage(View view) {// Do something in response to buttonstartActivity(FlutterActivity.withNewEngine().initialRoute("/defaultRouteName").build(getApplicationContext()));}

这里的路由是在flutter模块中配置的,这里将代码贴出来

void main() => runApp(_widgetForRoute('defaultRouteName'));Widget _widgetForRoute(String route) {switch (route) {default:return MaterialApp(home: Scaffold(backgroundColor: Colors.red,body: Center(child: Text('Hello from flutter',textDirection: TextDirection.ltr,style: TextStyle(fontSize: 20.0, color: Colors.blue),),)),);}
}

步骤四:测试
点击button,成功

原生Android应用接入flutter(详细步骤)相关推荐

  1. Android连接夜神模拟器详细步骤

    Android连接夜神模拟器详细步骤 做毕设用到了android stdio,好久不用也生疏了,记录一下. (1)打开并运行夜神模拟器, (2)打开命令行窗口,win+R,并输入cmd. (3)找到并 ...

  2. android APP集成系统详细步骤及注意事项(amlogic平台)

    此说明用于amlogic平台集成不签名的apk.(如何判断集成的apk需不需要签名.简单来说使用U盘安装后,能正常打开使用的就可以不签名方式集成.) 各平台的文件系统有差异,但整体大同小异.其他平台的 ...

  3. Android Studio安装超详细步骤(包括SDK安装不成功,模拟器无法创建等问题)

    本文主要介绍CPU为AMD锐龙和英特尔两种类型在安装中出现的一些问题,两种解决的方案不同,所以首先查看属于哪种,然后找相对应的安装方法. Android Studio的安装需要准备两个安装文件,一个是 ...

  4. Android MediaRecorder录制视频详细步骤

    使用MediaRecorder能够编写从设备麦克风与相机捕获音视频,保存音频并(使用MediaPlayer)进行播放的应用. 1.添加权限: <uses-permission android:n ...

  5. Android MediaPlayer播放视频详细步骤

    MediaPlayer类是媒体框架最重要的组成部分之一,此类的对象能够获取,解码以及播放音频和视频,而且只需极少量设置,它支持多种不同的媒体源,例如: 本地资源 内部Url,例如您可能从内容解析器获取 ...

  6. 中国35岁以上的程序猿哪去了?,基于android的app开发详细步骤

    举几个例子: A,女,前同事,90左右,985硕士,15年毕业,二线互联网公司,干了4年,19年,29岁跑路,高校行政岗事业编,月薪从25K到6K,5:30下班. B.男,读者,85左右,985硕士, ...

  7. Android SoundPool播放音效详细步骤

    MediaPlayer虽然也能播放音频,但是它有资源占用量较高,延迟时间较长,不支持多个音频同时播放等缺点,这些缺点决定MediaPlayer在某些场合的使用情况不会很理想,例如在对时间精准度要求相对 ...

  8. mac 下 Android apk反编译详细步骤

    mac环境下工具清单: 1.Apktool :将apk文件进行反编译,得到字节码(classes.dex)和资源文件及其他H5文件等. 2.dex2jar:将反编译后的classes.dex文件转化为 ...

  9. 原生App项目集成flutter混合开发详细指南

    记得去年9月份的时候谷歌在上海有一次开发者大会,去参加的时候关注到了flutter,随后没过多久就发布了1.0版本.18年底的时候用flutter做了个小项目,发现flutter确实挺好用的.于是尝试 ...

  10. android application 方法,Android Studio新建Android application配置的详细方法

    Android Studio如何新建Android application配置呢?下面是小编介绍的Android Studio新建Android application配置的详细方法,有需要的小伙伴一 ...

最新文章

  1. JavaScript面向对象编程之Singleton类
  2. php 怎么将a 转成65,详细阐述PHP环境下如何将gbk编码转成utf8格式
  3. Object Detection中的IOU
  4. Screen会话命令 Linux
  5. 比特币全节点(bitcoind) eth 全节点
  6. 谷歌浏览器 检查功能_谷歌Chrome浏览器添加新功能,爱”吃“内存有应对之策?...
  7. AFNetworking请求提示Invalid parameter not satisfying: URLString
  8. DXUT实战3:HLSL(withEffect)+D3D9+DXUT(june_2010) . .
  9. 如何打开chrome中flash debug player
  10. 浮点数计算机组成原理问题,计算机组成原理习题及答案
  11. 计算机主板提示ahci,电脑BIOS没有AHCI功能没有办法BIOS刷新怎么办
  12. 解决打开Excel会自动新建一个空表格
  13. 用python解决数学问题
  14. 微信公众号查券返利机器人搭建教程
  15. 以太网口差分电平_逻辑电平之常见差分逻辑电平(4)
  16. 王爽汇编语言第三版答案
  17. 电脑端手机模拟器软件
  18. localhost与ip的区别
  19. 计算机网络一课一文1000字,第一课 计算机网络及应用
  20. 关于使用多普达windows mobile 手机使用联通卡不能上网的问题

热门文章

  1. 诺基亚7plus支持html,【诺基亚7Plus评测】诺基亚7Plus评测:三蔡司镜头“全面”来袭(全文)_诺基亚 7 Plus(4GB RAM/全网通)_手机评测-中关村在线...
  2. ANSI/ISO C++ Professional Programmer's Handbook 7
  3. 浅谈打开网页速度慢的原因和解决方法
  4. 《孙子兵法特殊战法之火攻篇》
  5. 演出节目名字_《我们的歌》新人太一无人识?看了节目才知道原来他这么优秀...
  6. 2012年那些大败局
  7. 总结:Python 轻量级序列化和反序列化包 marshmallow 详细使用指南
  8. 【读书笔记】《谈谈方法》(笛卡尔)
  9. ionic刷新html页面,Ionic实现页面下拉刷新(ion-refresher)功能代码
  10. 笔记 |《软件测试技术经典教程》第4章 黑盒测试技术