【发布时间】:2020-06-09 22:58:23
【问题描述】:
混淆后的包中的类规范名称是否唯一?
我目前使用 Koin 依赖注入并根据 Activity 和 Fragment 的规范名称自动为某些共享 DI 逻辑创建范围。以前,我使用的是他们的simpleName,当然,经过混淆处理后并不是唯一的。
【问题讨论】:
标签: android kotlin proguard android-r8
混淆后的包中的类规范名称是否唯一?
我目前使用 Koin 依赖注入并根据 Activity 和 Fragment 的规范名称自动为某些共享 DI 逻辑创建范围。以前,我使用的是他们的simpleName,当然,经过混淆处理后并不是唯一的。
【问题讨论】:
标签: android kotlin proguard android-r8
是的,包中的类名(即完全限定的类名)必须是唯一的。
此规则适用于虚拟机级别:如果两个类具有相同的完全限定名称,则实际上只会加载其中一个,而加载哪个类则有些随意。如果不遵循此规则,这可能会导致相当奇怪的错误。
因此,任何正常运行的混淆器都必须遵循此规则。如果没有,那将是混淆器中的一个错误。
【讨论】: