Firebase AdMob会抛出IncompatibleClassChangeError

时间:2017-04-05 14:27:17

标签: android firebase admob kotlin

java.lang.IncompatibleClassChangeError: Superclass com.google.android.gms.dynamic.zzg of com.google.android.gms.internal.zzdx is declared final (declaration of 'com.google.android.gms.internal.zzdx' appears in /data/app/io.github.basixkor.scipnet-1/split_lib_dependencies_apk.apk:classes12.dex)
    at com.google.android.gms.internal.zzeh.zzeO(Unknown Source)
    at com.google.android.gms.internal.zzey.<clinit>(Unknown Source)
    at com.google.android.gms.ads.AdRequest.<clinit>(Unknown Source)
    at com.google.android.gms.ads.AdRequest$Builder.<init>(Unknown Source)

这是通过调用AdRequest抛出的堆栈跟踪。我试过干净,重建但它仍然无法正常工作。

find<AdView>(R.id.adView).loadAd(AdRequest.Builder().addTestDevice(AdRequest.DEVICE_ID_EMULATOR).build())

此代码是用于加载广告的kotlin代码。

<com.google.android.gms.ads.AdView
    android:id="@+id/adView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_alignParentBottom="true"
    ads:adSize="BANNER"
    ads:adUnitId="@string/banner_ad_unit_id" />

这是一个布局。 我该如何解决这个错误?

2 个答案:

答案 0 :(得分:1)

这是一个版本问题。确保您拥有相同版本的firebase-corefirebase-ads

答案 1 :(得分:0)

如果adView在您的activity_main.xml中是getTotalByteCount() == -1的ID

然后您可以这样使用:

AdView