flutter-notes
Android adb 常用命令
为设备安装包
1 | adb install -t build/app/outputs/flutter-apk/app-debug.apk |
部分手机纯净模式下每次安装未验证apk包时会有安装二次确认 需要输入密码 可以在开发者选项中 关闭“监控ADB安装应用”选项 解决
查看真机运行日志
查看所有 Dart & Android 层 log,Release 包仍然可以用 logcat 打印 print()、debugPrint() 输出
1 | adb logcat -s flutter |
sdk版本切换
fvm
社区版本管理插件
手动切换环境变量
拉取flutter官方github仓库 切换到对应版本tag后复制源代码到本地flutter_sdks文件夹内 手动更改系统环境变量即可
1 | E:\flutter_sdks\flutter-3.35.7\bin |
切换版本更改环境变量后必须所有终端关闭后重新打开 或者重启电脑
如果出现更改后版本仍然不对的情况时 通过运行where flutter查询当前所有引用的sdk path 排序决定当前最新应用版本
1 | $ where flutter |
可以在.bashrc中显示指定当前需要应用的版本确保正确
1 | # flutter sdk |
运行环境
内置环境
Flutter 内置三种运行模式
| 模式 | 特点 | 编译命令 |
|---|---|---|
| debug | 热重载、断点调试、性能未优化 | flutter run |
| profile | 性能分析,接近 release 性能 | flutter run --profile |
| release | 关闭断言、开启优化、正式发布用 | flutter run --release |
判断当前模式:
1 | import 'package:flutter/foundation.dart'; |
自定义环境
如在测试环境build release包但需走开发测试接口调试场景 同web端一致
通过dart-define注入参数
1 | flutter run --dart-define=mode=dev |
代码中读取
1 | import 'dart:convert'; |
调试模式下切换走不同的配置
1 | { |
ios蓝牙机制
app蓝牙权限异常
当你从 控制中心(下拉的快捷开关) 关闭蓝牙时,iPhone 并不会完全关闭蓝牙模块,
而是:只断开当前的蓝牙连接(耳机、手表等),直到第二天早上 5 点之前,不会自动重新连接这些设备
但蓝牙系统本身依然保持开启,以便 AirDrop、定位、App、手表解锁等系统功能 能继续使用。
amdroid端需开启允许搜索附近设备权限
热更新 shorebird
参照shorebird文档 安装本地依赖环境
bash安装异常 powershell中安装后:
- 如果需要升级版本: 更改pubspec.yaml_version: 1.0.0+4
- 打包:shorebird release android –flutter-version=3.27.4 –artifact=apk
- 打补丁热更新:更改代码后直接 shorebird patch –platforms=android –release-version=1.0.0+4,为指定版本号打补丁
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Indifferent!
评论




