目录
修改Flutter安装目录\packages\flutter_tools\gradle\flutter.gradle
想做点手机软件或者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.3 | 2.2.1 - 2.3 |
1.2.0 - 1.3.1 | 2.2.1 - 2.9 |
1.5.0 | 2.2.1 - 2.13 |
2.0.0 - 2.1.2 | 2.10 - 2.13 |
2.1.3 - 2.2.3 | 2.14.1 - 3.5 |
2.3.0+ | 3.3+ |
3.0.0+ | 4.1+ |
3.1.0+ | 4.4+ |
3.2.0 - 3.2.1 | 4.6+ |
3.3.0 - 3.3.3 | 4.10.1+ |
3.4.0 - 3.4.3 | 5.1.1+ |
3.5.0 - 3.5.4 | 5.4.1+ |
3.6.0 - 3.6.4 | 5.6.4+ |
4.0.0+ | 6.1.1+ |
4.1.0+ | 6.5+ |
4.2.0+ | 6.7.1+ |
与使用的Gradle 版本对应
下一篇
番外
网上搜索的,python开发app(开头提起的)、windows相关文章,感兴趣的可以看下: