4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

FlutterのAdMobプラグイン firebase_admob 0.9.0+1 でAndroidアプリが起動時にクラッシュする

Last updated at Posted at 2019-06-18

事象

AdMobプラグインを入れたAndroidアプリが起動時にクラッシュする。

クラッシュログ

    java.lang.NoSuchMethodError: No static method zzc(Landroid/os/Bundle;)Lcom/google/android/gms/measurement/internal/zzak; in class Lcom/google/android/gms/measurement/internal/zzak; or its super classes (declaration of 'com.google.android.gms.measurement.internal.zzak' appears in /data/app/[MY_APP_PACKAGE]-GDpCg5h9A1Zhci0PXdgzxA==/base.apk:classes5.dex)
        at com.google.firebase.analytics.connector.AnalyticsConnectorImpl.getInstance(Unknown Source:20)
        at com.google.firebase.analytics.connector.internal.zzb.create(Unknown Source:6)
        at com.google.firebase.components.ComponentRuntime.lambda$new$0(com.google.firebase:firebase-common@@16.1.0:66)
        at com.google.firebase.components.ComponentRuntime$$Lambda$1.get(Unknown Source:4)
        at com.google.firebase.components.Lazy.get(com.google.firebase:firebase-common@@16.1.0:53)
        at com.google.firebase.components.ComponentRuntime.initializeEagerComponents(com.google.firebase:firebase-common@@16.1.0:155)
        at com.google.firebase.FirebaseApp.initializeAllApis(com.google.firebase:firebase-common@@16.1.0:779)
        at com.google.firebase.FirebaseApp.initializeApp(com.google.firebase:firebase-common@@16.1.0:369)
        at com.google.firebase.FirebaseApp.initializeApp(com.google.firebase:firebase-common@@16.1.0:332)
        at com.google.firebase.FirebaseApp.initializeApp(com.google.firebase:firebase-common@@16.1.0:316)
        at com.google.firebase.provider.FirebaseInitProvider.onCreate(com.google.firebase:firebase-common@@16.1.0:53)
        at android.content.ContentProvider.attachInfo(ContentProvider.java:1927)
        at android.content.ContentProvider.attachInfo(ContentProvider.java:1902)
        at com.google.firebase.provider.FirebaseInitProvider.attachInfo(com.google.firebase:firebase-common@@16.1.0:47)
        at android.app.ActivityThread.installProvider(ActivityThread.java:6572)
        at android.app.ActivityThread.installContentProviders(ActivityThread.java:6127)
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6037)
        at android.app.ActivityThread.-wrap1(Unknown Source:0)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1764)
        at android.os.Handler.dispatchMessage(Handler.java:105)
        at android.os.Looper.loop(Looper.java:164)
        at android.app.ActivityThread.main(ActivityThread.java:6938)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)

再現手順

  • firebase_admob 0.9.0+1pubspec.yamlに記載してPackages getを実行。
pubspec.yaml
dependencies:
  flutter:
    sdk: flutter
  firebase_admob: ^0.9.0+1
  • AndroidManifest.xmlにAdMobアプリIDを記載
AndroidManifest.xml
<manifest>
    <application>
        <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="YOUR_ADMOB_APP_ID"/>
    </application>
</manifest>
  • ★Androidアプリをビルドして実行すると、起動時にアプリがクラッシュする。

暫定対応

firebase_admobのバージョンを0.8.0+4まで落としたところ事象は解消されました。

根本原因

調査の結果、firebase_coreパッケージを入れていなかったことが原因であると判明しました。
公式チュートリアルを見返したところ、注: iOS と Android のいずれのバージョンでも、すべての Flutter アプリには firebase_core プラグインが必要です。と記載がありました。

解決策

firebase_coreをpubspec.yamlに追記し、念の為他のFirebase系ライブラリも全て最新のバージョンにアップデートしたところ、firebase_admob 0.9.0+1でもクラッシュすることなく起動することができました。

pubspec.yaml
dependencies:
  flutter:
    sdk: flutter

  firebase_core: ^0.4.0+6
  firebase_admob: ^0.9.0+1
  firebase_analytics: ^3.0.3
  cloud_firestore: ^0.12.5+2
4
2
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?