Neurotoxin Powered Marketing

    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
    

    Install

    npm i flutter-integration-tool

    DownloadsWeekly Downloads

    1

    Version

    0.1.4

    License

    MIT

    Unpacked Size

    1.31 MB

    Total Files

    27

    Last publish

    Collaborators

    • oy2898601