我在库中将程序包级函数声明为实用程序,我想在主应用程序中使用它。
我的问题是我无法使用proguard阻止代码混淆(因此无法在主应用程序中使用它)。
我的文件it.blabla.util.Extensions.kt
fun foo(context: Context, action: String) {
...
}
我已经尝试使用以下方法将其保留在proguard中:
-keep class it.blablabla.util.UtilPackage.** { *; }
或
-keep class it.blablabla.util.** { *; }
但是这些都不起作用。
在我的应用中,我尝试如下使用foo:
foo(applicationContext, "test")
但是我无法找到正确的导入,从而无法通过aar模块使foo在我的应用程序中可见。 我不断收到以下编译错误:
未解决的参考:foo
答案 0 :(得分:0)
您很可能必须保留类以及保留元数据 (proguard doc):
-keep class it.blablabla.util.ExtensionsKt {
*;
}
-keepkotlinmetadata