我正在使用 Kotlin 构建一个 android 库(aar 文件)。我需要以第三方用户将看到类和方法名称的方式混淆代码,他必须能够使用它们(它们是公开的),但我需要隐藏/混淆代码本身。
我尝试将此文件用于 myLibrary\proguard-rules.pro 文件:https://github.com/mohitrajput987/android-utility/blob/master/preference/proguard-rules.pro https://github.com/mohitrajput987/android-utility/blob/master/preference/proguard-rules.pro
但是每个类、方法和变量都发生了变化,除了一个目录中同时包含 Kotlin 和 Java 类之外,文件和目录名都保持不变。
如果这就是我正在寻找的,那么 Kotlin 必须进行哪些更改?
也许还有什么问题吗?
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
如果其他人遇到这个问题,在大多数情况下这应该可以解决问题(当不尝试混淆本机方法时):
-keepclasseswithmembernames class * {
public <methods>;
}
更多关于不同keep
可以在这里找到选项:Proguard 保留规则 https://www.guardsquare.com/en/products/proguard/manual/usage
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)