带混淆器的 Kotlin AAR 库:如何仅保留 class 和方法名称?

Kotlin AAR library w/ proguard: How to keep ONLY class and method names?

我正在使用 Kotlin 构建一个 android 库(aar 文件)。我需要以第三方用户将看到 class 和方法名称的方式混淆代码,他必须能够使用它们(它们是公开的),但我需要 hide/obfuscate 代码本身。 我尝试将此文件用于 myLibrary\proguard-rules.pro 文件: https://github.com/mohitrajput987/android-utility/blob/master/preference/proguard-rules.pro

但是每个 class、方法和 var 都发生了变化,除了同时包含 Kotlin 和 Java class 的目录外,文件和目录名称都保持不变一样。

如果这是我要找的,那么 Kotlin 必须更改什么?

也许还有其他问题?

buildTypes {
    release {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    }
}

}

万一其他人遇到这个问题,这在大多数情况下应该可以解决问题(当不试图混淆本机方法时):

-keepclasseswithmembernames class * {
     public <methods>; 
}

可在此处找到有关不同 keep 选项的更多信息:Proguard keep rules