android嵌入flutter module实现

本文介绍了两种将Flutter代码集成到Android原生项目的方法。方式一是通过打包Flutter模块为aar文件并导入原生项目,这种方式Flutter代码对原生不可见;方式二是直接将Flutter模块拷贝到Android项目中,使得Flutter代码可见。每种方法都详细阐述了步骤,包括创建Flutter module、导入依赖以及配置Android原生项目。此外,还提供了Flutter与原生之间的交互代码示例。

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

使用场景: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"
       
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值