0

我刚开始使用木材登录 android,我们正在尝试将文件名/类名添加到日志消息中。我能够使用调试树在调试版本中添加文件名,但我没有找到在发布树中添加文件名的方法。是否有可能在启用 R8 的发布树中添加文件名?

4

2 回答 2

0

好的,像这样使用它:在整个类中使用您的类名定义一个 TAG 变量:

private static final String TAG = "Your class name";

然后传递你的标签:

Timber.tag(TAG).d("Error %s!", error);
于 2020-12-18T05:14:25.143 回答
0

正如这里所描述的,有几种方法可以解决这个问题。

对于发布版本

当您生成打算在 Play 商店上发布的应用程序的实际发布版本时,您还会mapping.txt为每个发布工件获得一个。上传此文件(请注意 - 每个构建都会生成一个新文件,因此您必须使用您的工件生成的确切文件),Google 将为您在 Google Play 控制台中对崩溃日志进行去混淆处理。

您还可以选择使用retrace命令行工具来翻译您自己使用mapping.txt.

对于非发布版本/内部测试

由于您不会向世界发布此工件,因此打破您自己的代码混淆可能是可以接受的。您可以使用proguard-rules.pro文件中的规则来保留 R8 收缩期间的相关信息。

检查文档以获取所有相关参数。特别有用的是 -dontobfuscate,-keeppackagenames-keepattributes(带有和 之类的参数SourceFileLineNumberTable

请记住,当您手动执行这些操作时,收缩和混淆代码的更改可能会破坏反射和资源查找之类的想法。因此,在摆弄这些参数后,请确保您的混淆版本构建按预期工作。

于 2020-12-18T11:20:14.557 回答