Flutter开发日记——构建系统加入Flutter符号表

前言

记一次在开发过程中找到Flutter符号表的过程。由于Flutter准备上线后需要将Flutter符号表打进崩溃系统,供崩溃系统查询。即使是发布到线上的崩溃,也能在崩溃系统中扫描出来。这里只是记录将对应Flutter版本号找到对应带符号表的过程,我们的工作就是将符号表交给负责崩溃系统的人即可。

1、flutter版本

由于我们开发的版本是最新的stable版本,需要将本地版本切换到stable版本,在命令行执行

flutter channel stable

由于我们开发是最新的stable版本,需要更新到flutter最新版本,在命令行执行

flutter upgrade

查看flutter版本

flutter --version

本机的flutter版本

Flutter 1.5.4-hotfix.2 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 7a4c33425d (5 weeks ago) • 2019-04-29 11:05:24 -0700
Engine • revision 52c7a1e849
Tools • Dart 2.3.0 (build 2.3.0-dev.0.5 a1668566e5)

2、找到符号表

  1. 在GitHub上找到flutter项目的Release版本,找到我们对应的版本,链接在此,下载source
  2. 下载完后解压,在/bin/internal/engine.version中查看当前版本对应的engine版本,如52c7a1e849a170be4b2b2fe34142ca2c0a6fea1f
  3. flutter仓库中搜索对应的版本,找到对应的文件夹,里面就是我们各种cpu架构的符号表,取下来交给崩溃系统负责人即可

3、其他符号表

但有些Flutter的开发是自定义Engine的,这个时候就需要gradle将ndk生成的so文件,放到构建系统的符号表指定目录中

task collectSymbolSo(type: Tar) {
    destinationDir = file("${rootDir}/target/artifacts")
    baseName = 'hensen'
    compression = Compression.GZIP
    extension = 'tar.gz'
    from(new File(buildDir, 'intermediates/ndkBuild/release/obj/local'))
    include("**/*.so")
    exclude("**/objs")
}

tasks.whenTaskAdded { task ->
    if (task.name == 'assembleRelease') {
        assembleRelease.finalizedBy collectSymbolSo
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

许英俊潇洒

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

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

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

打赏作者

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

抵扣说明:

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

余额充值