首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >类扩展FirebaseMessagingService在Android中不起作用

类扩展FirebaseMessagingService在Android中不起作用
EN

Stack Overflow用户
提问于 2016-11-04 17:23:01
回答 2查看 6.2K关注 0票数 3

我创建了一个Android来实现FCM,用于我的内部项目,其中我实现了一个类来扩展FirebaseMessagingService (.services.MyFirebaseMessagingService ),另一个类实现了扩展FirebaseInstanceIdService (.services.MyFirebaseInstanceIDService)。

我在库中的AndroidManifest.xml中定义了以下内容:

代码语言:javascript
运行
复制
<!-- [START firebase_service] -->
<service
    android:name=".services.MyFirebaseMessagingService"
    android:exported="true">
    <intent-filter>
        <action android:name="com.google.firebase.MESSAGING_EVENT" />
    </intent-filter>
</service>
<!-- [END firebase_service] -->
<!-- [START firebase_iid_service] -->
<service android:name=".services.MyFirebaseInstanceIDService">
    <intent-filter>
        <action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
    </intent-filter>
</service>
<!-- [END firebase_iid_service] -->

当我将所有库源代码作为一个模块包含在我的应用程序中时,一切都进行得很好,但是当我只包含生成的AAR时,我在运行应用程序时收到了这个错误:

代码语言:javascript
运行
复制
java.lang.RuntimeException: Unable to instantiate service com.example.lib.services.MyFirebaseMessagingService: java.lang.ClassNotFoundException: com.example.lib.services.MyFirebaseMessagingService
  at android.app.ActivityThread.handleCreateService(ActivityThread.java:2380)
  at android.app.ActivityThread.access$1600(ActivityThread.java:138) 
  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1286)
  at android.os.Handler.dispatchMessage(Handler.java:99)
  at android.os.Looper.loop(Looper.java:137)
  at android.app.ActivityThread.main(ActivityThread.java:4905)
  at java.lang.reflect.Method.invokeNative(Native Method)
  at java.lang.reflect.Method.invoke(Method.java:511)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
  at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: com.example.lib.services.MyFirebaseMessagingService
  at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
  at android.app.ActivityThread.handleCreateService(ActivityThread.java:2377)
  at android.app.ActivityThread.access$1600(ActivityThread.java:138) 
  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1286) 
  at android.os.Handler.dispatchMessage(Handler.java:99) 
  at android.os.Looper.loop(Looper.java:137) 
  at android.app.ActivityThread.main(ActivityThread.java:4905) 
  at java.lang.reflect.Method.invokeNative(Native Method) 
  at java.lang.reflect.Method.invoke(Method.java:511) 
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790) 
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557) 
  at dalvik.system.NativeStart.main(Native Method) 

服务com.example.lib.services.MyFirebaseInstanceIDService正确工作。

我需要使用AAR生成的库来工作吗?

EN

Stack Overflow用户

发布于 2016-11-04 17:26:02

单击Build ->清洁,然后安装并运行应用程序

票数 -1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40428477

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档