美文网首页
Flutter不同平台的编译方法

Flutter不同平台的编译方法

作者: 改革春风吹满地啊 | 来源:发表于2019-02-25 15:41 被阅读0次

一、flutter是google推出的一个跨平台ui框架

1、支持ios和android的release版本已经出了
官方主页:https://flutter.dev/
github:https://github.com/flutter/flutter

2、 mac,linux,windows,Fuchsia操作系统的桌面版也有一个项目支持
目前还在测试阶段
github:https://github.com/google/flutter-desktop-embedding

3、 对于web,google也推出了一个实验性项目:Hummingbird 目前还没有开源

二、flutter为移动平台上的编译

1、下载sdk,并配置ide https://flutterchina.club/get-started/install/
2、编译一个Android平台的apk
3、编译ios平台,您需要安装xcode
然后再打开ios项目中的. xcodeproj文件,编译之后,之后的调试可以在android studio或者vs code里进行。

android studio截图:


image.png

vs code截图:


image.png

三、flutter为mac平台编译

1、下载https://github.com/google/flutter-desktop-embedding
2、下载https://github.com/flutter/flutter
3、配置flutter环境变量
4、添加flutter的china支持的环境变量
PUB_HOSTED_URL=https://pub.flutter-io.cn
FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
5、修改flutter\packages\flutter_tools\gradle\flutter.gradle改为

      buildscript {
        repositories {
            maven{ url 'https://maven.aliyun.com/repository/google' }
            maven{ url 'https://maven.aliyun.com/repository/jcenter' }
            maven{ url 'http://maven.aliyun.com/nexus/content/groups/public'}
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:3.2.1'
        }
    } 

6、执行flutter doctor
7、然后用xcode打开flutter-desktop-embedding/example/macos_fde/ExampleEmbedder.xcodeproj运行会自动下载依赖

四、flutter为windows平台编译(这个步骤有点麻烦,而且目前生成的文件由于链接的是动态链接库,所以还不能把编译出来的exe在别的windows上运行

1、需要安装windows7 sp1及以上的64位操作系统(原生镜像安装,不要使用ghost安装),推荐使用windows10
2、安装.net framework4.7.2 dev
3、安装git
4、安装virtual studio 2017

      选中左边<使用c++的桌面开发>  
      选中右边<windows8.1 sdk和ucrt sdk>
      选中右边<用于x86和x64的virtual c++ MFC>
      选中右边<windows 10sdk 10.0.17134.0>
      选中左边<virtual studio扩展开发>  

      选中左边<通用windows平台开发> 
      选中右边<C++通用windows平台工具>   
     点击单个组件 
     选中<ClickOnce发布>  
     选中<windows通用c运行时>  

5、新建一个文件夹

     cmd进入
     git clone https://github.com/flutter/flutter.git
     git clone https://github.com/google/flutter-desktop-embedding.git

6、下载ninja并配置环境变量
7、下载gn并配置环境变量
8、安装python并配置环境变量
9、配置flutter环境变量
10、添加flutter的china支持的环境变量

      PUB_HOSTED_URL=https://pub.flutter-io.cn
      FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn

11、修改flutter\packages\flutter_tools\gradle\flutter.gradle改为

      buildscript {
        repositories {
            maven{ url 'https://maven.aliyun.com/repository/google' }
            maven{ url 'https://maven.aliyun.com/repository/jcenter' }
            maven{ url 'http://maven.aliyun.com/nexus/content/groups/public'}
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:3.2.1'
        }
    } 

12、执行flutter doctor <下载dart及更新flutter插件>
13、进入flutter-desktop-embedding

        运行tools\run_dart_tool.bat fetch_jsoncpp third_party\jsoncpp\src

13、打开flutter-desktop-embedding\example\windows_fde\Example Embedder.sln
14、右键解决方案下的项目,点击属性(这个步骤其实没什么用,因为作者说flutter引擎编译的时候有点问题,我猜测如果要解决这个问题,可能要把 virtual studio framework下所有使用到的dll都一起打包才可以,目前现在本机上调试吧,以后如果有解决方案,我再更新)

MFC使用选择 在静态库中使用MFC
c/c++下代码生成下运行库选择(多线程/MT)

15、hosts配置s3.amazonaws.com
16、在flutter-desktop-embedding\example下运行flutter packages get获取依赖包
17、选择Release,然后点击生成exe

相关文章

网友评论

      本文标题:Flutter不同平台的编译方法

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