2017-04-05 36 views
1
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引發的堆棧跟蹤。我嘗試清潔,並重建,但它仍然無法正常工作。Firebase AdMob引發IncompatibleClassChangeError

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" /> 

這是一個佈局。 我該如何解決這個錯誤?

+0

請顯示您的代碼? – Aryan

+0

@AhishekAryan編輯,謝謝! – Basix

回答

1

這是一個版本的問題。確保你有相同版本的firebase-corefirebase-ads

+1

哦,天啊!就是這樣 – rupps

0

如果AdView後,在您的activity_main.xml中的AdView ID

然後你就可以以這種方式使用:

private AdView mAdView; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.activity_main); //layout having AdView 
    mAdView = (AdView) findViewById(R.id.adView); 

    AdRequest.Builder builder =new AdRequest.Builder(); 
    builder.addTestDevice(AdRequest.DEVICE_ID_EMULATOR); 
    AdRequest adRequest = builder.build(); 
    mAdView.loadAd(adRequest); 

} 
+0

我已經這樣做..對不起 – Basix

+0

你可以發佈你的layout.xml嗎? – Aryan

+0

@AbhisekAryan我發佈了:) – Basix