我刚刚开始在android上使用木材登录,我们正在尝试将文件名/类名添加到日志消息中。我可以使用debug tree在调试版本中添加文件名,但我找不到在发布树中添加文件名的方法。是否可以在启用R8的情况下将文件名添加到发布树中?
发布于 2020-12-18 05:14:25
好的,这样使用它:在整个类中定义一个带有类名的标记变量,如下所示:
private static final String TAG = "Your class name";
然后传递你的标签:
Timber.tag(TAG).d("Error %s!", error);
发布于 2020-12-18 11:20:15
正如here所描述的,有几种方法可以做到这一点。
对于发布版本
当您生成您打算在Play Store上发布的应用程序的实际发布版本时,您还会获得每个发布工件的mapping.txt
。上传此文件(请小心-每个构建都会生成一个新文件,因此您必须使用与工件生成的文件完全相同的文件),Google将在Google Play控制台中为您对崩溃日志进行模糊处理。
您还可以选择使用retrace
命令行工具来转换您自己使用mapping.txt
从此构建中接收到的日志。
对于非发行版构建/内部测试
由于您不会向世界发布此工件,因此打破您自己的代码混淆可能是可以接受的。在R8收缩期间,您可以使用proguard-rules.pro
文件中的规则来保留相关信息。
检查所有相关参数的the docs。特别有用的是-dontobfuscate
、-keeppackagenames
和-keepattributes
(带有SourceFile
和LineNumberTable
这样的参数)。
请记住,当您手动执行这些操作时,收缩和混淆代码中的更改可能会破坏反射和资源查找等思想。因此,在修改了这些参数之后,请确保您的模糊发布版本可以按预期工作。
https://stackoverflow.com/questions/65257848
复制相似问题