flutter-integration-tool

0.1.4 • Public • Published

简介

一键化集成工具,用于集成flutter开发环境到现有APP中

使用说明

版本变更

  • 0.1.4 避免自定义libflutter.so被替换

  • 0.1.3 【修改】- 使用 split-debug-info 优化 app.so 大小

  • 0.1.1 适配Flutter 1.17.2,不兼容Flutter 1.12.13

  • 0.0.12 适配Flutter 1.12.13+hotfix.8

环境配置

Flutter 1.12.13+hotfix.8
Cocoapod 1.8.4 nodejs Android Studio 3.6.1

!!!请确保flutter pub getflutter runnpm installpod install命令正常运行

安装flutter-integration-tool工具

npm install flutter-integration-tool -g

编写配置

{
  // 必要
  "android_dir": "Android工程目录,相对路径或者绝对路径均可",
  "flutter_dir": "Flutter工程目录,默认为对应平台工程目录下的flutter_project,注意名称不能带-号,否则无法创建成功",
  "ios_dir": "IOS工程目录,相对路径或者绝对路径均可",

  // 可选
  "platform": "默认平台,设置后可以简化命令,不输入-i,-a,如ios",
  "android_module_name": "Android主Module名称",
  "exclude_plugins": "不打包的插件名,如flutter_integration",
  "abi_filter": "android so打包路径,配置后只打包该配置的,如armeabi-v7a,arm64-v8a"
}

android使用示例

进入一个目录,分别下载以下三个项目到同一目录下(注意:要同一目录下

  1. 下载demo工程
git clone https://github.com/ouyanx/flutter-integration-demo-android.git
  1. 进入demo工程目录,执行命令
cd flutter-integration-demo-android

// 配置文件
vim config.cfg

// 输入
{
    "platform": "android",
    "android_dir": ".",
    "flutter_dir": "./flutter_project",
    "ios_dir": ".",
    "android_module_name": "app"
}

// 生成
flutter-integration-tool create
  1. 执行成功后,打开工程,同步gradle文件,把TestActivity.java的第7,18,36-55,58-107行的注释打开,运行即可点击首页的打开新页面,打开flutter的页面。

  2. 切换不同模式

cd flutter-integration-demo-android
// 源码集成
flutter-integration-tool mode -s -a
// 产物集成
flutter-integration-tool mode -p -a

切换模式时Android Studio可能会有缓存,报以下错误:

Program type already present: 

可以执行Build -> Clean Project,和File -> Invalidate Caches / Restart,清除缓存重新尝试

iOS使用示例

进入一个目录,分别下载以下三个项目到同一目录下(注意:要同一目录下

  1. 下载demo工程
git clone https://github.com/ouyanx/flutter-integration-demo-ios.git
  1. 进入demo工程目录,执行命令
cd flutter-integration-demo-ios

// 配置文件
vim config.cfg

// 输入
{
    "platform": "ios",
    "android_dir": ".",
    "flutter_dir": "./flutter_project",
    "ios_dir": "."
}

// 生成
flutter-integration-tool create
  1. 执行成功后,打开工程,修改AppDelegate.m第11行的TEST_FLUTTER为1,运行即可。App的第二个tab为flutter页面
open Example.xcworkspace

// AppDelegate.m:11
#define TEST_FLUTTER 1
  1. 切换不同模式
cd flutter-integration-demo-ios
// 源码集成
flutter-integration-tool mode -s -i
// 产物集成
flutter-integration-tool mode -p -i

Dependencies (4)

Dev Dependencies (0)

    Package Sidebar

    Install

    npm i flutter-integration-tool

    Weekly Downloads

    0

    Version

    0.1.4

    License

    MIT

    Unpacked Size

    1.31 MB

    Total Files

    27

    Last publish

    Collaborators

    • oy2898601