跨平台Flutter框架开发应用一、idea开发flutter环境搭建

跨平台Flutter框架 专栏收录该内容
7 篇文章 1 订阅

目录

Flutter简介

特性:

优点:

缺点

idea搭建flutter/dart环境

文档&SDK下载

配置环境变量

安装idea插件

idea设置

检查是否需要安装的依赖项

将flutter.gradle部分数据改为阿里云的

修改Flutter安装目录\packages\flutter_tools\gradle\flutter.gradle

修改同文件MAVEN_REPO的值

下一篇

番外


想做点手机软件或者PC端桌面应用, 但不是很想花时间学他们的语言,想着偷偷懒,用Python写

百度了下,确实可行,利用python开发app需要用到python的一个模块–kivy,kivy是一个开源的,跨平台的Python开发框架,用于开发使用创新的应用程序。简而言之,这是一个python桌面程序开发框架(类似wxpython等模块),强大的是kivy支持linux、mac、windows、android、ios平台

后来下载太慢就在网上多扒了扒,发现了Flutter框架,

Flutter简介

简介:

百度百科是这样介绍的:

Flutter 是 Google 开源的 UI 工具包,帮助开发者通过一套代码库高效构建多平台精美应用,支持移动、Web、桌面和嵌入式平台Flutter 开源、免费,拥有宽松的开源协议,适合商业项目。Google对于Flutter的期望是全平台统一UI开发,号称要做一份代码、全平台部署的UI框架

特性:

  • 快速开发:Flutter的热重载帮助你快捷方便的试验、重构UI、添加特性和修复bug。在仿真器、模拟器和ios、android硬件上体验亚秒级的重载,而不会丢失状态。
  • 绚丽UI:通过Flutter内建的漂亮的质感设计和Cupertino(ios-flavor)小工具、丰富的动画API,平滑的自然滚动和平台感知,让用户感到满意。
  • 响应式
  • 访问原生功能
  • Flutter使用Dart,这是一种快速,面向对象的语言,具有Minix,隔离,泛型和可选静态类型等功能。

优点:

  • 混合开发中,最接近原生开发的框架;
  • 性能强大,流畅;
  • 优秀的路由设计;
  • 优秀的动画设计;
  • 简单易学,Dart语言更具优势;
  • 跨多种平台,减少开发成本;支持插件,可以访问原生系统的调用。

缺点

  • 脱离不开原生,开发人员需要具备原生(Android、iOS)基础开发能力;
  • 适配问题,开发工具版本升级后,修改量大;
  • 原生集成第三方SDK后,兼容性适配是个令人头痛的问题;
  • 代码可读性较差,对代码质量和管理要求较高;
  • Widget的类型难以选择,糟糕的UI控件API;
  • Flutter packages和Dart packages上第三方sdk繁杂,适配性差,不可乱用;
  • 目前几乎没有第三方开发者平台开发Flutter能力的SDK,需要原生去集成;
  • 打包后,apk/ipa要大很多。

对于个人开发者,可以使用纯Flutter去开发App尝鲜;
对于小团队,不推荐使用纯Flutter,出了问题,解决不了,浪费时间;
对于商业项目,不推荐使用纯Flutter,体验不好,埋坑时间不少。
与硬件强相关的项目,不推荐使用纯Flutter。

idea搭建flutter/dart环境

文档&SDK下载

打开上面第二个链接下载flutter SDK,解压到合适的位置。

配置环境变量

Path中追加(完整路径+flutter\bin完整路径+flutter\bin\cache\dart-sdk\bin),在这一步最好是将 android sdk 的环境变量一起配置了

       

从Flutter的1.19.0开发版开始,Flutter SDK在dart命令旁边包含flutter 命令,以便您可以更轻松地运行Dart命令行程序。下载Flutter SDK也会下载Dart的兼容版本,不用单独下载Dart SDK

 

安装idea插件

File -> Setting 打开 IDEA 设定的界面

  • Flutter 插件用来支撑Flutter开发者的流程(运行,调试,热加载,等等)
  • Dart插件则提供代码分析(代码合法性校验,代码补全等等)

idea设置

打开idea设置,选择flutter SDK根目录

至此环境配置完成,另外开发app需要Android和jdk的环境配置

检查是否需要安装的依赖项

cmd窗口 运行 flutter doctor

1.Android license status unknown (Android许可证状态未知):

执行flutter doctor --android-licenses,输入y,若出现红色警示部分 原因只有一种jdk版本问题。 环境变量中检查并更改JAVA_HONE对应的版本(从11降到1.8)

2.Connected device ! No devices available (连接设备! 没有可用的设备) 将电脑连接上手机或者模拟器即可

3.Flutter plugin not installed; this adds Flutter specific functionality.

   Dart plugin not installed; this adds Dart specific functionality.这两项检查idea插件Dart,flutter是否安装

将flutter.gradle部分数据改为阿里云的

修改Flutter配置文件安装目录\packages\flutter_tools\gradle\flutter.gradle

buildscript

  • 原:
buildscript {
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.5.0'
    }
}
  • 改:
buildscript {
    repositories {
        //google()
        //jcenter()
	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:4.2.0'
    }
}

ps:在项目中也需要更改--flutter_app/android/build/gradle中修改文件

buildscript {
    repositories {
//        google()
//        jcenter()
        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:4.2.0'
    }
}

allprojects {
    repositories {
//        google()
//        jcenter()
        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' }
    }
}

修改flutter.gradle同文件MAVEN_REPO的值

    // 墙外地址:
    // private static final String MAVEN_REPO      = "https://storage.googleapis.com/download.flutter.io";
    // 国内地址:
    private static final String MAVEN_REPO      = "https://storage.flutter-io.cn/download.flutter.io";

修改Flutter配置文件安装目录\packages\flutter_tools\gradle\resolve_dependencies.gradle

repositories {
    google()
    jcenter()
    maven {
        //  url "https://storage.googleapis.com/download.flutter.io"
	url "http://download.flutter.io"
    }
}

配置Flutter国内镜像站点

添加用户环境变量:

  • PUB_HOSTED_URL:https://pub.flutter-io.cn 
  • FLUTTER_STORAGE_BASE_URL:https://storage.flutter-io.cn 
  • flutter社区

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

  • 清华大学 TUNA 协会

export PUB_HOSTED_URL=https://mirrors.tuna.tsinghua.edu.cn/dart-pub
export FLUTTER_STORAGE_BASE_URL=https://mirrors.tuna.tsinghua.edu.cn/flutter

  • 腾讯云开源镜像站

export PUB_HOSTED_URL=https://mirrors.cloud.tencent.com/dart-pub
export FLUTTER_STORAGE_BASE_URL=https://mirrors.cloud.tencent.com/flutter

 注意版本对应classpath 'com.android.tools.build:gradle:4.2.0'

    dependencies {
        classpath 'com.android.tools.build:gradle:4.2.0'
    }

 

官网链接

插件版本所需的 Gradle 版本
1.0.0 - 1.1.32.2.1 - 2.3
1.2.0 - 1.3.12.2.1 - 2.9
1.5.02.2.1 - 2.13
2.0.0 - 2.1.22.10 - 2.13
2.1.3 - 2.2.32.14.1 - 3.5
2.3.0+3.3+
3.0.0+4.1+
3.1.0+4.4+
3.2.0 - 3.2.14.6+
3.3.0 - 3.3.34.10.1+
3.4.0 - 3.4.35.1.1+
3.5.0 - 3.5.45.4.1+
3.6.0 - 3.6.45.6.4+
4.0.0+6.1.1+
4.1.0+6.5+
4.2.0+6.7.1+

与使用的Gradle 版本对应

下一篇

番外

网上搜索的,python开发app(开头提起的)、windows相关文章,感兴趣的可以看下:

 

  • 2
    点赞
  • 0
    评论
  • 9
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

©️2022 CSDN 皮肤主题:技术黑板 设计师:CSDN官方博客 返回首页

打赏作者

瑶山

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值