带混淆器的 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
我正在使用 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