创建
flutter doctor # 检查及修复flutter-sdk
flutter devices # 查看连接设备
flutter emulators # 查看有效设备
flutter create my-app # 创建flutter应用
Vscode 中开发运行Flutter 应用
如果你习惯用Android Studio 的话可以直接用Android Studio 直接开发Flutter。但是Android
Studio 比较耗费电脑资源,所以推荐使用Vscode。
1、Vscode 中安装Flutter 插件、Dart 插件。
2、Vscode 中打开flutter 项目进行开发
3、运行Flutter 项目
flutter run
- r 键:点击后热加载,也就算是重新加载吧。
- p 键:显示网格,这个可以很好的掌握布局情况,工作中很有用。
- o 键:切换android 和ios 的预览模式。
- q 键:退出调试预览模式。
4、Vscode 默认连不上第三方模拟器解决方案
cd 到对应夜神模拟器C:\Program Files\Nox\bin 目录然后运行
nox_adb.exe connect 127.0.0.1:62001
夜游模拟器 abd版本跟android sdk 不一致,导致vscode无法识别
查看abd版本号:adb version
1、删除 C:\Program Files\Nox\bin 下 adb.exe、nox_adb.exe文件
2、复制android-sdk的adb.exe 至 夜游模拟器(C:\Program Files\Nox\bin)下,并重命名为 nox_adb.exe。
android-studio下 sdk-manager路径 C:\Users\Administrator\AppData\Local\Android\Sdk\platform-tools
运行项目白屏或者闪屏的解决方案,
在项目根目录打开命令面板或者运行的flutter下的 teiminal中,执行 flutter run —enable-software-rendering
热重载’ vs ‘完全重启’
热重载通过将更新的源代码文件注入正在运行的Dart VM(虚拟机)中工作。这不仅包括添加新类,还包括向现有类添加方法和字段以及更改现有函数。尽管有几种类型的代码更改无法热重载:
- 全局变量初始化器.
- 静态字段初始化器.
- app的
main()
方法.
对于这些更改,您可以完全重新启动应用程序,而无需结束调试会话:
不要点击停止按钮; 只需重新单击运行按钮(如果在运行会话中)或调试按钮(如果在调试会话中),或者按住Shift键并单击“热重载”按钮
调整ui的时候,可使用 启动调试 进行热加载
调整数据、状态的时候,建议使用flutter run
问题
Back-end (JVM) Internal error: wrong bytecode generated
查看本地kotlin版本号
flutter运行一直Resolving dependencies…
原因:jcenter google库无法访问到导致的问题,虽然你疑惑你有qiang,为啥还是无法访问,全局代理还是被屏掉了。换种思路,我们换成使用阿里的镜像。
修改项目下的build.gradle
文件的下载依赖库的镜像
maven{ url”http://maven.aliyun.com/nexus/content/groups/public“} maven { url ‘https://maven.aliyun.com/repository/google’ } maven { url ‘https://maven.aliyun.com/repository/jcenter’ }
buildscript {
ext.kotlin_version = '1.3.72'
repositories {
// google()
// jcenter()
maven{ url"http://maven.aliyun.com/nexus/content/groups/public"}
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/jcenter' }
}
dependencies {
classpath 'com.android.tools.build:gradle:3.5.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
allprojects {
repositories {
// google()
// jcenter()
maven{ url"http://maven.aliyun.com/nexus/content/groups/public"}
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/jcenter' }
}
}
Waiting for another flutter command to release the startup lock…
方法1:重启电脑
方法2:进入到你的flutter sdk目录中,然后找到bin/cache/lockfile文件,删除它即可。
删除之后你再运行flutter doctor
打包、部署
和环境安装一样,强烈推荐参考官网,只有官网会及时更新,相关参考:
- 混淆 Dart 代码:https://flutter.dev/docs/deployment/obfuscate
- 配置 flavors 构建双端:https://flutter.dev/docs/deployment/flavors
- 打包并发布 Android 应用:https://flutter.dev/docs/deployment/android
- 打包并发布 iOS 应用:https://flutter.dev/docs/deployment/ios
- 打包并发布 Linux 应用:https://flutter.dev/docs/deployment/linux
- 打包并发布 Web 应用:https://flutter.dev/docs/deployment/web