android嵌入flutter module实现

使用场景:android原生页面直接跳转flutter功能页面

实现方式:

 1. 将flutter代码打包成aar引入android项目,flutter代码对原生不可见
 2. 将flutter代码引入android项目,flutter代码对原生可见

实现方式一:将flutter代码打包成aar引入android项目,flutter代码对原生不可见

1、创建flutter module项目

flutter module项目是可以单独运行的,项目结构同flutter Application类似,只不过这里是.android和.ios。
在这里插入图片描述

2、将flutter module打包成aar文件夹

按如下路径对module进行打包,打包完成后会生成系统的aar集成提示。
在这里插入图片描述
在这里插入图片描述
其中:
①aar生成的路径,如下图
②③④原生项目需要相应添加的代码
在这里插入图片描述

3、打开需要嵌入flutter代码的Android原生项目,分别导入上图的①②③④。

![在这里插入图片描述](https://img-blog.csdnimg.cn/884d12362aca47a1be524bb6f5a9ad54.png
①:直接拷贝过来,repo文件是aar生成的路径
②:maven直接引用你本地的aar文件夹路径,这里是放在了app目录下。
代码:

buildscript {
    repositories {
        google()
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:4.1.0'
    }
}

allprojects {
    String storageUrl = System.env.FLUTTER_STORAGE_BASE_URL ?: "https://storage.googleapis.com"
    repositories {
        google()
        jcenter()
        maven {
            url 'repo'  //这里引用你本地的aar文件夹路径
        }
        maven {
            url "$storageUrl/download.flutter.io"
        }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

③④:引用aar依赖

plugins {
    id 'com.android.application'
}

android {
    compileSdk 30

    defaultConfig {
        //compileSdk 30编译失败解决
        configurations.all {
            resolutionStrategy { force 'androidx.media2:media2-session:1.1.3' }
            resolutionStrategy { force 'androidx.media2:media2-common:1.1.3' }
            resolutionStrategy { force 'androidx.core:core:1.6.0' }
            resolutionStrategy { force 'androidx.core:core-ktx:1.6.0' }
        }
        applicationId "com.example.aar_local"
        minSdk 21
        targetSdk 32
        ve
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值