美文网首页
flutter 六 flutter接入到现有app

flutter 六 flutter接入到现有app

作者: crossroads | 来源:发表于2024-05-15 14:32 被阅读0次

前言

以aar形式将项目依赖到已有的android项目中

一、 确认flutter版本

确认远程flutter人员推项目时用的,不同版本会导致不同的编译问题,尽量使用同一flutter版本。
使用flutter doctor可以用flutter doctor或flutter --version查看flutter版本。
用flutter upgrade只能升到最新版,如果需要更改到指定版本,可以进入flutter代码的目录下,使用git checkout 到指定版本,再运行flutter doctor即可


二、 打出 aar

  1. 使用命令:flutter build


  2. 按照命令板提示,配置到主项目中,例如:
build.gradle中

 maven {
      url ' 你的打印出的目录/finka_flutter/build/host/outputs/repo'
        }
        maven {
            url "https://storage.flutter-io.cn/download.flutter.io"
        }

原生app依赖

    //flutter
    debugImplementation 'comxx:flutter_debug:1.0'
    releaseImplementation 'comxx:flutter_release:1.0'
如果有其他buildTypes ,例如preRelease
    preReleaseImplementation 'comxx:flutter_release:1.0'

不过我这边都依赖的release,方便一些。

  1. 如果以后flutter项目中用了一些三方,和原生冲突了,可以这样做
    implementation ('com.example.finka_main:flutter_release:1.0'){
        exclude group: 'com.google.android.exoplayer'
    }
  1. build中看download info的信息,是否正确找到地址下载


校验

在android任意一个类中输入FlutterActivity,监测是否能获取到。

后记

这里写了一个shell脚本,用于打包成aar并将aar复制到原生项目中

flutter build aar --no-debug --no-profile
if [ $? -eq 0 ]; then
    echo "build success"
    rm -rf /Users/xx/xx/app/flutter/repo
    cp -rf /Users/xx/xx/xx/build/host/outputs/repo /Users/xx/xx/app/flutter
    if [ $? -eq 0 ]; then
       echo "copy suc"
      else
        echo "copy fail"
    fi
else
  echo "build fail"
fi
放入项目,点击运行即可

当然,最好是能将aar放入远程maven仓库中。

参考网址

https://flutter.cn/docs/add-to-app/android/project-setup

flutter与原生的交互网址借鉴

app只有一个入口打开一个flutter主页面
app多个入口打开flutter页面1
app多个入口打开flutter页面2

相关文章

网友评论

      本文标题:flutter 六 flutter接入到现有app

      本文链接:https://www.haomeiwen.com/subject/guqfzdtx.html