我在我的项目中将现有GCM转换为Firebase消息,但是我收到此错误?

时间:2016-12-23 06:28:55

标签: android firebase-cloud-messaging

我正在尝试将现有的GCM转换为我的项目中的Firebase消息,但是,我收到此错误,请帮我解决此问题:

12-23 11:27:22.729 4443-4443/com.example.tabswithswipe E/AndroidRuntime: FATAL EXCEPTION: main
                                                                             java.lang.RuntimeException: Unable to get provider com.google.firebase.provider.FirebaseInitProvider: java.lang.ClassNotFoundException: Didn't find class "com.google.firebase.provider.FirebaseInitProvider" on path: DexPathList[[zip file "/data/app/com.example.tabswithswipe-2.apk"],nativeLibraryDirectories=[/data/app-lib/com.example.tabswithswipe-2, /vendor/lib, /system/lib]]
                                                                                 at android.app.ActivityThread.installProvider(ActivityThread.java:5100)
                                                                                 at android.app.ActivityThread.installContentProviders(ActivityThread.java:4680)
                                                                                 at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4613)
                                                                                 at android.app.ActivityThread.access$1300(ActivityThread.java:162)
                                                                                 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1424)
                                                                                 at android.os.Handler.dispatchMessage(Handler.java:107)
                                                                                 at android.os.Looper.loop(Looper.java:194)
                                                                                 at android.app.ActivityThread.main(ActivityThread.java:5371)
                                                                                 at java.lang.reflect.Method.invokeNative(Native Method)
                                                                                 at java.lang.reflect.Method.invoke(Method.java:525)
                                                                                 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
                                                                                 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
                                                                                 at dalvik.system.NativeStart.main(Native Method)
                                                                              Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.firebase.provider.FirebaseInitProvider" on path: DexPathList[[zip file "/data/app/com.example.tabswithswipe-2.apk"],nativeLibraryDirectories=[/data/app-lib/com.example.tabswithswipe-2, /vendor/lib, /system/lib]]
                                                                                 at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:53)
                                                                                 at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
                                                                                 at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
                                                                                 at android.app.ActivityThread.installProvider(ActivityThread.java:5085)
                                                                                 at android.app.ActivityThread.installContentProviders(ActivityThread.java:4680) 
                                                                                 at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4613) 
                                                                                 at android.app.ActivityThread.access$1300(ActivityThread.java:162) 
                                                                                 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1424) 
                                                                                 at android.os.Handler.dispatchMessage(Handler.java:107) 
                                                                                 at android.os.Looper.loop(Looper.java:194) 
                                                                                 at android.app.ActivityThread.main(ActivityThread.java:5371) 
                                                                                 at java.lang.reflect.Method.invokeNative(Native Method) 
                                                                                 at java.lang.reflect.Method.invoke(Method.java:525) 
                                                                                 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833) 
                                                                                 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600) 
                                                                                 at dalvik.system.NativeStart.main(Native Method) 

1 个答案:

答案 0 :(得分:1)

您需要注意以下几点:

  1. 运行Android 2.3(Gingerbread)或更新版本以及Google Play服务10.0.1或更高版本的设备
  2. 来自Google Repository的Google Play服务SDK,可在Android SDK Manager中找到
  3. 最新版本的Android Studio 1.5或更高版本
  4. 在Android Studio中,将FCM依赖项添加到您的应用级build.gradle文件中。
  5. 摇篮:

    dependencies {
           compile 'com.google.firebase:firebase-messaging:10.0.1'
        }
    

    将以下内容添加到您应用的清单中:

    <service
        android:name=".MyFirebaseMessagingService">
        <intent-filter>
            <action android:name="com.google.firebase.MESSAGING_EVENT"/>
        </intent-filter>
    </service>
    <service
        android:name=".MyFirebaseInstanceIDService">
        <intent-filter>
            <action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
        </intent-filter>
    </service>
    

    如果您需要更多详情,请访问official web site