Flurry Ads IncompatibleClassChangeError
Flurry Ads IncompatibleClassChangeError
我正在使用 Admob 中介从多个不同的发布商那里拉取广告。我的 flurry 横幅广告似乎没有被正确拉出。我在控制台日志中看到以下错误:
java.lang.IncompatibleClassChangeError: Class
'com.google.ads.mediation.flurry.impl.b' does not implement interface
'com.flurry.android.ads.FlurryAdBannerListener'
完整的堆栈跟踪如下:
W/System.err: java.lang.IncompatibleClassChangeError: Class 'com.google.ads.mediation.flurry.impl.b' does not implement interface 'com.flurry.android.ads.FlurryAdBannerListener' in call to 'void com.flurry.android.ads.FlurryAdBannerListener.onError(com.flurry.android.ads.FlurryAdBanner, com.flurry.android.ads.FlurryAdErrorType, int)' (declaration of 'com.flurry.android.ads.FlurryAdBanner' appears in /data/data/com.printandpixel.lolhistory/files/instant-run/dex/slice-ads-6.4.2_b7bf7c0890e97695ecaacfe25f623800b871f89f-classes.dex)
W/System.err: at com.flurry.android.ads.FlurryAdBanner.a(SourceFile:56)
W/System.err: at com.flurry.sdk.ma.run(SourceFile:42)
W/System.err: at android.os.Handler.handleCallback(Handler.java:739)
W/System.err: at android.os.Handler.dispatchMessage(Handler.java:95)
W/System.err: at android.os.Looper.loop(Looper.java:152)
W/System.err: at android.app.ActivityThread.main(ActivityThread.java:5507)
W/System.err: at java.lang.reflect.Method.invoke(Native Method)
W/System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
W/System.err: java.lang.IncompatibleClassChangeError: Class 'com.google.ads.mediation.flurry.impl.b' does not implement interface 'com.flurry.android.ads.FlurryAdBannerListener' in call to 'void com.flurry.android.ads.FlurryAdBannerListener.onError(com.flurry.android.ads.FlurryAdBanner, com.flurry.android.ads.FlurryAdErrorType, int)' (declaration of 'com.flurry.android.ads.FlurryAdBanner' appears in /data/data/com.printandpixel.lolhistory/files/instant-run/dex/slice-ads-6.4.2_b7bf7c0890e97695ecaacfe25f623800b871f89f-classes.dex)
W/System.err: at com.flurry.android.ads.FlurryAdBanner.a(SourceFile:56)
W/System.err: at com.flurry.sdk.ma.run(SourceFile:42)
W/System.err: at android.os.Handler.handleCallback(Handler.java:739)
W/System.err: at android.os.Handler.dispatchMessage(Handler.java:95)
W/System.err: at android.os.Looper.loop(Looper.java:152)
W/System.err: at android.app.ActivityThread.main(ActivityThread.java:5507)
W/System.err: at java.lang.reflect.Method.invoke(Native Method)
W/System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
W/System.err: java.lang.IncompatibleClassChangeError: Class 'com.google.ads.mediation.flurry.impl.b' does not implement interface 'com.flurry.android.ads.FlurryAdBannerListener' in call to 'void com.flurry.android.ads.FlurryAdBannerListener.onFetched(com.flurry.android.ads.FlurryAdBanner)' (declaration of 'com.flurry.android.ads.FlurryAdBanner' appears in /data/data/com.printandpixel.lolhistory/files/instant-run/dex/slice-ads-6.4.2_b7bf7c0890e97695ecaacfe25f623800b871f89f-classes.dex)
W/System.err: at com.flurry.android.ads.FlurryAdBanner.a(SourceFile:52)
W/System.err: at com.flurry.sdk.ma.run(SourceFile:42)
W/System.err: at android.os.Handler.handleCallback(Handler.java:739)
W/System.err: at android.os.Handler.dispatchMessage(Handler.java:95)
W/System.err: at android.os.Looper.loop(Looper.java:152)
W/System.err: at android.app.ActivityThread.main(ActivityThread.java:5507)
W/System.err: at java.lang.reflect.Method.invoke(Native Method)
W/System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
开发者 contact page seems to be down and they haven't replied to my tweet 也有。
有什么建议吗?如果有人知道 Flurry 移动广告团队的联系电子邮件,那也很棒。
编辑: 我遵循了此处的集成说明:https://developer.yahoo.com/flurry/docs/publisher/code/adaptors/admob/android/
作为参考,我使用的是从 here 中提取的 flurryAdapter.jar 版本 6.4.2 以及以下 gradle 片段:
apply plugin: 'com.android.application'
android {
buildTypes {
debug {
debuggable true
}
release {
minifyEnabled false
}
}
dexOptions {
javaMaxHeapSize "4g"
}
defaultConfig {
minSdkVersion 15
targetSdkVersion 23
//...
}
dependencies {
//...
compile 'com.google.android.gms:play-services-ads:9.2.1'
compile 'com.google.android.gms:play-services-basement:9.2.1'
compile 'com.flurry.android:ads:6.4.2'
}
}
根据 Flurry 支持的官方回复,这是 Admob 适配器版本 6.4.2 中的错误。
我已经在 6.4.3 中修复了 https://github.com/flurry/flurry-adapter-admob-android/tree/6.4.3
我正在使用 Admob 中介从多个不同的发布商那里拉取广告。我的 flurry 横幅广告似乎没有被正确拉出。我在控制台日志中看到以下错误:
java.lang.IncompatibleClassChangeError: Class 'com.google.ads.mediation.flurry.impl.b' does not implement interface 'com.flurry.android.ads.FlurryAdBannerListener'
完整的堆栈跟踪如下:
W/System.err: java.lang.IncompatibleClassChangeError: Class 'com.google.ads.mediation.flurry.impl.b' does not implement interface 'com.flurry.android.ads.FlurryAdBannerListener' in call to 'void com.flurry.android.ads.FlurryAdBannerListener.onError(com.flurry.android.ads.FlurryAdBanner, com.flurry.android.ads.FlurryAdErrorType, int)' (declaration of 'com.flurry.android.ads.FlurryAdBanner' appears in /data/data/com.printandpixel.lolhistory/files/instant-run/dex/slice-ads-6.4.2_b7bf7c0890e97695ecaacfe25f623800b871f89f-classes.dex)
W/System.err: at com.flurry.android.ads.FlurryAdBanner.a(SourceFile:56)
W/System.err: at com.flurry.sdk.ma.run(SourceFile:42)
W/System.err: at android.os.Handler.handleCallback(Handler.java:739)
W/System.err: at android.os.Handler.dispatchMessage(Handler.java:95)
W/System.err: at android.os.Looper.loop(Looper.java:152)
W/System.err: at android.app.ActivityThread.main(ActivityThread.java:5507)
W/System.err: at java.lang.reflect.Method.invoke(Native Method)
W/System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
W/System.err: java.lang.IncompatibleClassChangeError: Class 'com.google.ads.mediation.flurry.impl.b' does not implement interface 'com.flurry.android.ads.FlurryAdBannerListener' in call to 'void com.flurry.android.ads.FlurryAdBannerListener.onError(com.flurry.android.ads.FlurryAdBanner, com.flurry.android.ads.FlurryAdErrorType, int)' (declaration of 'com.flurry.android.ads.FlurryAdBanner' appears in /data/data/com.printandpixel.lolhistory/files/instant-run/dex/slice-ads-6.4.2_b7bf7c0890e97695ecaacfe25f623800b871f89f-classes.dex)
W/System.err: at com.flurry.android.ads.FlurryAdBanner.a(SourceFile:56)
W/System.err: at com.flurry.sdk.ma.run(SourceFile:42)
W/System.err: at android.os.Handler.handleCallback(Handler.java:739)
W/System.err: at android.os.Handler.dispatchMessage(Handler.java:95)
W/System.err: at android.os.Looper.loop(Looper.java:152)
W/System.err: at android.app.ActivityThread.main(ActivityThread.java:5507)
W/System.err: at java.lang.reflect.Method.invoke(Native Method)
W/System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
W/System.err: java.lang.IncompatibleClassChangeError: Class 'com.google.ads.mediation.flurry.impl.b' does not implement interface 'com.flurry.android.ads.FlurryAdBannerListener' in call to 'void com.flurry.android.ads.FlurryAdBannerListener.onFetched(com.flurry.android.ads.FlurryAdBanner)' (declaration of 'com.flurry.android.ads.FlurryAdBanner' appears in /data/data/com.printandpixel.lolhistory/files/instant-run/dex/slice-ads-6.4.2_b7bf7c0890e97695ecaacfe25f623800b871f89f-classes.dex)
W/System.err: at com.flurry.android.ads.FlurryAdBanner.a(SourceFile:52)
W/System.err: at com.flurry.sdk.ma.run(SourceFile:42)
W/System.err: at android.os.Handler.handleCallback(Handler.java:739)
W/System.err: at android.os.Handler.dispatchMessage(Handler.java:95)
W/System.err: at android.os.Looper.loop(Looper.java:152)
W/System.err: at android.app.ActivityThread.main(ActivityThread.java:5507)
W/System.err: at java.lang.reflect.Method.invoke(Native Method)
W/System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
开发者 contact page seems to be down and they haven't replied to my tweet 也有。
有什么建议吗?如果有人知道 Flurry 移动广告团队的联系电子邮件,那也很棒。
编辑: 我遵循了此处的集成说明:https://developer.yahoo.com/flurry/docs/publisher/code/adaptors/admob/android/
作为参考,我使用的是从 here 中提取的 flurryAdapter.jar 版本 6.4.2 以及以下 gradle 片段:
apply plugin: 'com.android.application'
android {
buildTypes {
debug {
debuggable true
}
release {
minifyEnabled false
}
}
dexOptions {
javaMaxHeapSize "4g"
}
defaultConfig {
minSdkVersion 15
targetSdkVersion 23
//...
}
dependencies {
//...
compile 'com.google.android.gms:play-services-ads:9.2.1'
compile 'com.google.android.gms:play-services-basement:9.2.1'
compile 'com.flurry.android:ads:6.4.2'
}
}
根据 Flurry 支持的官方回复,这是 Admob 适配器版本 6.4.2 中的错误。
我已经在 6.4.3 中修复了 https://github.com/flurry/flurry-adapter-admob-android/tree/6.4.3