【发布时间】:2019-07-18 15:50:28
【问题描述】:
我得到一个看起来很简单的 ProGuard 错误,说找不到引用的类。该错误发生在将类从 Java 迁移到 Kotlin 之后。
Warning: com.x.android.ui.ads.offerwall.OfferWallLoader$initIronSrc$1$1$run$1$1: can't find referenced class com.x.android.ui.ads.offerwall.OfferWallLoader$initIronSrc$1$1
Warning: com.x.android.ui.ads.offerwall.OfferWallLoader$initIronSrc$1$1$run$1$1: can't find referenced class com.x.android.ui.ads.offerwall.OfferWallLoader$initIronSrc$1$1
问题是我试图将它保存在 proguard 文件中,但看起来它没有效果..
-keep class com.x.android.ui.ads.offerwall.OfferWallLoader$initIronSrc$* { *;}
我不确定在名称中的 $ 后面保留类或成员时的区别。 我该如何解决它,我做错了什么?
编辑:这是迁移到 Kotlin 的失败代码(代码已简化):
private fun initIronSrc(activity: Activity) {
synchronized(initIronSrcLock) {
if (isIronSourceInitialised) {
return
}
MyStaticClass.callAsync(object : BackgroundRunnable() {
override fun run(backgroundServiceAccess: BackgroundServiceAccess) {
synchronized(initIronSrcLock) {
if (isIronSourceInitialised) {
return
}
// Init IronSource
}
}
})
}
}
通知无法访问initIronSrc$1$1$run$1$1
【问题讨论】:
标签: proguard