Sentry命令行工具之ProGuard映射上传

sentry-cli可用于将proguard文件上传到Sentry,但在大多数情况下,您可以使用gradle插件来执行此操作。在某些情况下,您可以手动上传proguard文件(例如,当您只发布一些正在创建的构建时)。

一、基本上传

upload-proguard命令是用于上载proguard文件的命令。它采用一个或多个proguard映射文件的路径,并将它们上传到Sentry。如果您想将它们与Android应用相关联,您还应该将其指向来自构建中间文件夹的已处理AndroidManifest.xml。例:

sentry-cli upload-proguard \
    --android-manifest app/build/intermediates/manifests/full/release/AndroidManifest.xml \
    app/build/outputs/mapping/release/mapping.txt

由于sentry-java客户端需要知道映射文件的UIUD,因此需要将其嵌入到sentry-debug-meta.properties文件中。如果提供自动完成的--write-properties:

sentry-cli upload-proguard \
    --android-manifest app/build/intermediates/manifests/full/release/AndroidManifest.xml \
    --write-properties app/build/intermediates/assets/release/sentry-debug-meta.properties \
    app/build/outputs/mapping/release/mapping.txt

二、上传选项

--no-reprocessing

此参数可防止Sentry立即触发重新处理。 在极少数情况下,如果您希望以多个批次上载文件,并且希望确保Sentry在上载某些可选的dsyms之前不开始重新处理,则它非常有用。 请注意,虽然有人仍然可以在此期间触发从UI重新处理。

--no-upload

禁用实际上传。 这将运行处理的所有步骤,但不会触发上载(这也会自动禁用重新处理。如果您只想验证映射文件并将proguard UUID写入proeprties文件,这非常有用.

-- required-one

至少需要 一个要上传的文件或命令将出错。 

三、UUID格式

与大多数调试信息文件不同,proguard文件本身不携带可用于唯一标识文件的唯一标识符。由于这会导致不必要的复杂性,因此我们根据文件的校验和为文件提供SHA1 UUID。您可以对proguard文件使用sentry-cli difutil检查以查看生成的UUID。

如果您想自己生成UUID,可以使用以下算法(Python代码供参考):

import uuid

NAMESPACE = uuid.uuid5(uuid.NAMESPACE_DNS, "guardsquare.com")

def get_proguard_uuid(filename):
    with open(filename, 'rb') as f:
        return uuid.uuid5(NAMESPACE, f.read())

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值