是否有任何方法可以禁用Kotlin元数据或仅对其进行混淆?它是在编译过程中添加的。 整个代码很模糊,但是名为“ kotlin-reflect.jar”的Kotlin库保留了方法详细信息,例如类名,方法和类型的参数。
@Metadata(mv = {1,1,13},bv = {1,0,3},k = 1,d1 = {“ \ 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。 \ 006 \ 005“}, d2 = {“ Lcom / test / SomeException;”,“ Lcom / test / SomeException;”,“ errorMessage”,“”,“(Ljava / lang / String;)V”,“ build”}) 公共最终类SomeException扩展了Exception { 公共SomeException(@NotNull String paramString){super(paramString); this.errorMessage = paramString; } 私有最终String errorMessage; }
答案 0 :(得分:0)
我创建了“unmeta”,这是一个 Android Gradle 插件,可删除所有 Kotlin @Metadata
和 @DebugMetadata
注释以用于发布版本。
您可以在这里找到它:https://github.com/oliver-jonas/unmeta
它使用 ASM 并直接对编译后的字节码进行操作。