Kotlin 禁用元数据注释

Ram*_*son 5 obfuscation decompiling proguard kotlin

有没有办法禁用 Kotlin 元数据或只是混淆它们?它是在编译期间添加的。\n整个代码都经过了很好的混淆,但名为“kotlin-reflect.jar”的 Kotlin 库留下了方法详细信息,例如类名、方法和带有类型的参数。

\n\n
\n

@Metadata(mv = {1, 1, 13}, bv = {1, 0, 3}, k = 1, d1 = \n {"\\000\\022\\n\\002\\030\\ 002\n\002\030\002\n\000\n\002\020\016\n\002\b\002\030\0002\ \0020\\001B\\r\\022\\006\\020\\002\\032\\0020\\003?\\006\\002\\020\\004R\\016\\020\\ 002\\032\\0020\\003X?\\004?\\006\\002\\n\\000\xef\xbf\xbd\\006\\005"}, \n d2 = {"Lcom/ test/SomeException;", "Lcom/test/SomeException;", "errorMessage", "", "(Ljava/lang/String;)V", "build"})\n 公共最终类 SomeException 扩展了 Exception {\n公共 SomeException(@NotNull String paramString) { super(paramString); this.errorMessage = paramString; }\n 私有最终字符串 errorMessage;\n }

\n
\n

Oli*_*nas 1

我\xe2\x80\x99创建了“unmeta”,一个 Android Gradle 插件,它删除了发布版本的所有 Kotlin@Metadata和注释。@DebugMetadata

\n

您可以在这里找到它: https: //github.com/oliver-jonas/unmeta

\n

它使用 ASM 并直接对编译后的字节码进行操作。

\n