如何手动上传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

相关推荐
iloveAnd40 分钟前
Android开发中痛点解决(二)兼容性:AndroidX和gradle版本的兼容性
android·兼容性·androidx
stevenzqzq1 小时前
DataStore基本使用教程
android
LawrenceMssss2 小时前
由于创建一个完整的App涉及到多个层面(如前端、后端、数据库等),并且每种语言通常有其特定的用途(如Java/Kotlin用于Android开发,Swift/Objective-C用于iOS开发,Py
android·java·ios
chen_mangoo3 小时前
HDMI简介
android·linux·驱动开发·单片机·嵌入式硬件
阿里-于怀3 小时前
AgentScope AutoContextMemory:告别 Agent 上下文焦虑
android·java·数据库·agentscope
Larry_Yanan3 小时前
Qt安卓开发(三)双摄像头内嵌布局
android·开发语言·c++·qt·ui
粲然忧生3 小时前
腾讯云终端性能监控SDK正式上线,为鸿蒙开发适配保驾护航
android·腾讯云·harmonyos
我命由我123453 小时前
Kotlin 开发 - Kotlin Lambda 表达式返回值
android·java·开发语言·java-ee·kotlin·android studio·android-studio
FrameNotWork4 小时前
Android Camera HAL实现windows摄像头显示:从黑屏到彩色照片的完整攻坚
android