kotlin 混淆添加某些规则后代码没有被混淆

在网上找的大多数博客kotlin混淆 都会有以下的这一行代码,
估计他们也都不知道这是什么意思.
-keepclasseswithmembers @kotlin.Metadata class * { *; }
但是你如果把这个规则加上,你确定有混淆吗?你有没有打包完之后去看下呢?
在这里插入图片描述

把这行规则删除掉之后再看下
在这里插入图片描述
如果你的项目还正在开发并且要混淆尽早把这个删除.要不然等开发完,在删除这行代码,会有很多东西出现异常,到时候排查会很麻烦,
存在即合理,那么这行代码存在的道理是什么,请知情人告知.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
在 Android 应用中为 Kotlin 代码添加混淆规则和为 Java 代码添加混淆规则是类似的,只是混淆规则的语法略有不同。 下面是一些常见的针对 Kotlin 代码混淆规则: ``` # 保留 Kotlin 标准库中的所有类和成员 -keep class kotlin.** { *; } -keepclassmembers class kotlin.** { *; } # 保留 Kotlin 协程库中的所有类和成员 -keep class kotlinx.coroutines.** { *; } -keepclassmembers class kotlinx.coroutines.** { *; } # 如果使用了 Kotlin 的反射机制,则需要保留相关类和成员 -keepclassmembers class **.Kt { kotlin.Metadata metadata; <methods>; } # 如果使用了 Kotlin 的注解,则需要保留相关类和成员 -keep class **$$* { *; } # 如果使用了 Kotlin 的内联函数,则需要保留相关类和成员 -keepclassmembers class ** { <init>(); <clinit>(); **.Companion # *; **.Companion # *(...); **.Companion # *$default (...); **.Companion # *$annotations (...); **.Companion # *$Instance (...); **.Companion # *$Instance$annotations (...); **.Companion # *$EnumType (...); } # 如果使用了 Kotlin 的扩展函数,则需要保留相关类和成员 -keepclassmembers class ** { <init>(); <clinit>(); **.Companion # *; **.Companion # *(...); **.Companion # *$default (...); **.Companion # *$annotations (...); **.Companion # *$Instance (...); **.Companion # *$Instance$annotations (...); **.Companion # *$EnumType (...); kotlin.ExtensionFunctionType # *; } # 如果使用了 Kotlin 的数据类,则需要保留相关类和成员 -keepclassmembers class ** { <init>(...); <init>(...); **.copy$default (...); **.component* (...); **.copy (...); **.equals (...); **.hashCode (...); **.toString (...); } # 如果使用了 Kotlin 的 Sealed 类,则需要保留相关类和成员 -keepclassmembers class ** { <init>(); <clinit>(); **.Companion # *; **.Companion # *(...); **.Companion # *$default (...); **.Companion # *$annotations (...); **.Companion # *$Instance (...); **.Companion # *$Instance$annotations (...); **.Companion # *$EnumType (...); **.SealedSubclass # *; } ``` 这些混淆规则可以根据实际情况进行调整和修改。需要注意的是,如果你的代码中使用了一些第三方库或框架,还需要为这些库或框架添加相应的混淆规则
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值