Android 工程中集成 Flutter Module

栏目: IOS · Android · 发布时间: 5年前

内容简介:为了将 Flutter 引入到 Android 工程中,官方提供了以 Module 形式载入。但是实践一下,发现坑真的很多。首先如果 需要实现这个需求,可以参照Android 开发者很容易误以为集成 Flutter Module 就像以前 Android 工程集成 Module 一样,所以按照这种思路,执行依赖 Sync 的时候就会出现要命的是这种问题是非常低级的,低级到别人都没遇到过。解决这种问题两种思路,第一种情况,本质就是你的配置错了,官方 wiki 让你将 flutter_module 放在 An

为了将 Flutter 引入到 Android 工程中,官方提供了以 Module 形式载入。但是实践一下,发现坑真的很多。首先如果 需要实现这个需求,可以参照 Add Flutter to Android 这篇官方wiki来实现。下面我讲述一下遇到的坑吧,算是一个记录。

Module 的位置

Android 开发者很容易误以为集成 Flutter Module 就像以前 Android 工程集成 Module 一样,所以按照这种思路,执行依赖 Sync 的时候就会出现 include_flutter.groovy 相关文件丢失问题。

要命的是这种问题是非常低级的,低级到别人都没遇到过。解决这种问题两种思路,第一种情况,本质就是你的配置错了,官方 wiki 让你将 flutter_module 放在 Android 工程的 同级目录 下,而不是 Android 工程目录下。想一下这种问题为什么会出现,主要就是一些不好的文章翻译不正确导致的问题。

第二种就是尝试一下在出错的地方理解下原理,路径配置的时候,加上 Android 工程的路径,试验下发现也是可以 Sync 过的。

setBinding(new Binding([gradle: this]))                                 
evaluate(new File(                                                      
        settingsDir.parentFile,                                               
        '/工程路径/my_flutter/.android/include_flutter.groovy'                          
))

support 依赖包冲突

Flutter 中 Android 工程可能会与项目中的 support 之间存在冲突,加入如下代码即可:

dependencies {
    ...
    implementation(project(':flutter'),{
        exclude group: 'com.android.support'
    })
    ...

minSdkVersion

这个比较简单,升级一下你的 minSdkVersion 的版本要是16

getLifeCycle 找不到

添加谷歌Maven仓库,默认情况下,Android Studio 项目是不会配置的。如果要加入此仓库,打开项目的 build.gradle ,将下面高亮的部分加入到配置文件中。

allprojects {
    repositories {
        jcenter()
        maven { url 'https://maven.google.com' }
    }
}

同时 Android 工程的 buildToolsVersion 太低,将25改成27。

验证

最后,在 Android 宿主工程的 MainActivity 的 onCreate 方法中,加入以下代码,验证是否能够成功调起 Flutter 对应的页面:

View flutterView = Flutter.createView(
                MainActivity.this,
                getLifecycle(),
                "route1"
        );
        FrameLayout.LayoutParams layout = new FrameLayout.LayoutParams(600, 800);
        layout.leftMargin = 100;
        layout.topMargin = 200;
        addContentView(flutterView, layout);

以上就是按照官方 Wiki 配置会出现的一些问题以及最后验证是否配置成功的代码。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

MFC编程技巧与范例详解

MFC编程技巧与范例详解

曾凡锋、苗雨 / 清华大学出版社 / 2008-10 / 45.00元

本书集作者多年教学与软件开发经验,通过不同类型的实例详解向读者解读了如何使用MFC进行软件开发,并按实例的复杂度进行分级介绍,以满足不同层次读者的切实需要。. 本书共55个完整实例,均选自作者多年工程应用开发中的案例;内容共分14章,分别为MFC的基本概念、文档和视图、对话框、按钮控件、编辑控件、组合框控件、列表框控件、列表视图控件、树状视图控件、图像、多媒体、GDI与GDI+、网络编程、I......一起来看看 《MFC编程技巧与范例详解》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具