Stu*_*ing 5 android kotlin android-r8
我在我的应用程序中到处使用 Kotlin 数据类。
我在编译时使用 R8。
我有一个安全要求,即生成的toString方法不能包含原始属性名称。目前,生成的方法包含纯文本形式的整个类属性名称及其混淆值名称。
public String toString() {
return "MyClass(id="+this.f1231msd+", password="+this.fj92313+")");
}
Run Code Online (Sandbox Code Playgroud)
我有几个选择,但我想看看是否还有其他我没有找到的选择。
toString方法中使用了混淆名称。如果 R8 这样做但似乎没有这样做,这将是完美的。toString用空字符串手动覆盖每个数据类的方法。toString还有其他选择吗?
在寻找其他选项和解决方案后,我决定修改现有的编译器插件,为我自动执行此操作。
\n这样做的目的是让我在开发过程中仍然可以从 Kotlin 自动生成的方法中受益,但随后会在发布编译时toString()编辑内容。toString()
它输出这样的方法:
\npublic String toString() {\n return "\xe2\x96\x88\xe2\x96\x88";\n}\nRun Code Online (Sandbox Code Playgroud)\n目前这只是我在分支中的分支redact-all-and-class-names,但它可能会包含在主库中。
| 归档时间: |
|
| 查看次数: |
279 次 |
| 最近记录: |