我刚开始使用木材登录 android,我们正在尝试将文件名/类名添加到日志消息中。我能够使用调试树在调试版本中添加文件名,但我没有找到在发布树中添加文件名的方法。是否有可能在启用 R8 的发布树中添加文件名?
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(带有和 之类的参数SourceFile)LineNumberTable。
请记住,当您手动执行这些操作时,收缩和混淆代码的更改可能会破坏反射和资源查找之类的想法。因此,在摆弄这些参数后,请确保您的混淆版本构建按预期工作。
于 2020-12-18T11:20:14.557 回答