环境搭建

Mac 环境搭建

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 安装node
brew install node

# 安装文件监控,方便开发
brew install watchman

# 使用nrm工具切换淘宝源
npx nrm use taobao

# 如果之后需要切换回官方源可使用
npx nrm use npm

# Yarn是Facebook提供的替代npm的工具,可以加速node模块的下载
npm install -g yarn

# 安装java环境

# 安装Android开发环境

Read More

flutter Android端编译流程

Android编译源码流程

settings.gradle配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// 当前 app module
include ':app'

/**
* 1、读取android/local.properties文件内容
* 2、获取flutter.sdk的值,也就是你本地flutter SDK安装目录
* 3、gradle 脚本常规操作 apply flutter SDK路径下/packages/flutter_tools/gradle/app_plugin_loader.gradle文件
*/
def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
def properties = new Properties()

assert localPropertiesFile.exists()
localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }

def flutterSdkPath = properties.getProperty("flutter.sdk")
assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle"

查看app_plugin_loader.gradle文件

Read More

sentry_flutter

Sentry是一款多平台支持的异常信息收集解决方案。sentry_flutter可以在Flutter项目中收集异常信息。

https://docs.sentry.io/platforms/flutter/可以查阅其Flutter项目的集成文档。

sentry_dart_plugin可以自动上传mapping.txt文件和debug的动态库,方便后续直接在sentry后台查看异常信息。

基本用法

  1. pubspec.yaml配置,sentry_dart_plugin配置参数参考https://github.com/getsentry/sentry-dart-plugin/blob/main/README.md
Read More

单元测试

单元测试的作用?

  • 保证代码质量,当一个方法在某个版本进行了调整,如果对应的单元测试无法通过,说明这个方法的改动有问题。单元测试中也能包含很多边界条件,甚至可以把测试用例的场景都包含,这样就相当于做了一遍测试的工作,而且可以复用检查,下次迭代时再运行一遍,说不定能发现新问题
  • 单元测试阶段发现bug的处理时间相对后期测试发现反馈给研发,处理的时间要短很多,提高效率

Read More