如何手动上传Android混淆映射文件Mapping.txt到Firebase

为什么要上传Mapping文件

  • ProGuard/R8 代码混淆后,崩溃日志将显示无意义的符号(如a.a()
  • mapping.txt提供原始代码与混淆名称的映射关系
  • 未上传mapping文件时,Firebase无法解析崩溃堆栈的真实位置

如果你的打包流程有自动上传mapping文件,则可以不用往下看了,本文介绍的是如何手动上传,因为有些打包场景需要隔离或者无法访问谷歌服务。

手动上传方法

官方唯一推荐的方法是使用Firebase CLI,通过Firebase控制台已无法手动上传。下面简单介绍一下Firebase CLI

Firebase CLI 是 Google 提供的命令行工具,用于管理 Firebase 项目资源。其核心能力包括:

关键特性

  • 跨平台支持:基于 Node.js 开发,支持 Windows/macOS/Linux

  • 集中化管理:通过命令操作数据库、身份验证、云函数等 Firebase 服务

  • 本地模拟测试:内置本地模拟器(Emulator Suite),可在部署前验证配置

  • 自动化部署:一键部署静态资源、云函数、安全规则

安装方法

  1. 通过npm或者Homebrew安装

    shell 复制代码
    npm install -g firebase-tools
    
    brew install firebase-cli:cite
  2. 下载相应安装包

    官网

安装之后登录到相应账号,命令行方式可以使用firebase login,软件方式打开后会跳网页登录。另外,java环境变量要确认准备好。

上传mapping文件

Crashlytics 相关的命令如下:

分为两步

  1. 准备Android resource(XML)

打包的时候会有生成,路径为app/build/generated/crashlytics/res/your_flavor/release/values/com_google_firebase_crashlytics_mappingfileid.xml,如果提示这个文件无效,则可以用Firebase CLI命令行生成,firebase crashlytics:mappingfile:generateid --resource-file=PATH/android_resource.xml

shell 复制代码
//输出
i Updating resource file: PATH/android_source.xml
i successfully updated mapping file id
  1. 跑上传命令

firebase crashlytics:mappingfile:upload --app=Firebase_APP_ID --resource-file=PATH/android_resource.xml PATH/mapping.txt

如果上传成功,将会有如下提示:

shell 复制代码
//输出
i Updating mapping file: PATH/mapping.txt
i successfully updated mapping file

备注:Firebase_APP_ID不是Firebase project id,可以从控制台找或者直接用google-services.json里的mobilesdk_app_id

相关推荐
每次的天空13 分钟前
Android-自定义View的实战学习总结
android·学习·kotlin·音视频
恋猫de小郭41 分钟前
Flutter Widget Preview 功能已合并到 master,提前在体验毛坯的预览支持
android·flutter·ios
断剑重铸之日2 小时前
Android自定义相机开发(类似OCR扫描相机)
android
随心最为安2 小时前
Android Library Maven 发布完整流程指南
android
岁月玲珑2 小时前
【使用Android Studio调试手机app时候手机老掉线问题】
android·ide·android studio
还鮟6 小时前
CTF Web的数组巧用
android
小蜜蜂嗡嗡7 小时前
Android Studio flutter项目运行、打包时间太长
android·flutter·android studio
aqi007 小时前
FFmpeg开发笔记(七十一)使用国产的QPlayer2实现双播放器观看视频
android·ffmpeg·音视频·流媒体
zhangphil9 小时前
Android理解onTrimMemory中ComponentCallbacks2的内存警戒水位线值
android
你过来啊你9 小时前
Android View的绘制原理详解
android