社区首页 >问答首页 >演化/反应-本机-fcm- ClassNotFoundException

演化/反应-本机-fcm- ClassNotFoundException
EN

Stack Overflow用户
提问于 2018-02-19 09:14:52
回答 1查看 801关注 0票数 0

我的应用程序运行得很好但是..。当它收到来自Firebase的通知时,它会崩溃。

我认为发生这种情况是因为我的配置很糟糕,因为我已经实现了“react本机-fcm”示例。

I getFCMToken()圆满成功。

你看上去有什么错误吗?你知道为什么会发生这种事吗?想法?HelP!!

控制台错误

package.json

代码语言:javascript
代码运行次数:0
复制
"dependencies": {
    "firebase": "^4.8.2",
    "lodash": "^4.17.4",
    "moment": "^2.20.1",
    "react": "16.0.0-alpha.12",
    "react-firebase-storage-connector": "^1.1.0",
    "react-native": "0.47",
    "react-native-fbsdk": "^0.7.0",
    "react-native-fcm": "^13.3.1",
    "react-native-fetch-blob": "^0.10.8",
    "react-native-image-picker": "^0.26.7",
    "react-native-modal": "^5.0.0",
    "react-native-responsive-image": "^2.2.0",
    "react-native-side-menu": "^1.1.3",
    "react-native-textinput-effects": "^0.4.2",
    "react-native-vector-icons": "^4.5.0",
    "react-navigation": "^1.0.0-beta.11",
    "react-redux": "^5.0.6",
    "redux": "^3.7.2",
    "redux-thunk": "^2.2.0",
    "slugify": "^1.2.9"
},

app/build.gradlew

代码语言:javascript
代码运行次数:0
复制
      compileSdkVersion 27
      buildToolsVersion "27.0.1"

      defaultConfig {
          applicationId "com.reactnavigationdrawer"
          minSdkVersion 16
          targetSdkVersion 22
          versionCode 1
          versionName "1.0"
          ndk {
              abiFilters "armeabi-v7a", "x86"
          }
      }

  dependencies {
      compile fileTree(dir: "libs", include: ["*.jar"])
      compile "com.android.support:appcompat-v7:+"
      compile "com.facebook.react:react-native:+"  // From node_modules
      compile(project(':react-native-fbsdk')) {
       exclude(group: 'com.facebook.android', module: 'facebook-android-sdk')
      }
      compile('com.facebook.android:facebook-android-sdk:4.22.1')
      compile ("com.google.android.gms:play-services-base:11.2.0") {
        force = true;
     }
      compile ('com.google.firebase:firebase-core:11.2.0') {
          force = true;
      }
      compile ('com.google.firebase:firebase-auth:11.2.0') {
          force = true;
      }
      compile (project(':react-native-fcm')){
          exclude group: "com.google.firebase"
      }
      compile ("com.google.android.gms:play-services-gcm:11.2.0") {
          force = true;
      }
      compile project(':react-native-vector-icons')
      compile project(':react-native-fetch-blob')
      compile project(':react-native-image-picker')

  }

  apply plugin: 'com.google.gms.google-services'

build.gradlew

代码语言:javascript
代码运行次数:0
复制
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.+' // <- USE 2.2.+ version
        classpath 'com.android.tools.build:gradle:2.2.3'
        classpath 'com.google.gms:google-services:3.0.0'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }

MainActivity.java

代码语言:javascript
代码运行次数:0
复制
  package com.reactnavigationdrawer;

  import com.facebook.react.ReactActivity;
  import android.content.Intent;

  public class MainActivity extends ReactActivity {

      @Override
      public void onNewIntent (Intent intent) {
          super.onNewIntent(intent);
          setIntent(intent);
      }

      @Override
      public void onActivityResult(int requestCode, int resultCode, Intent data) {
          super.onActivityResult(requestCode, resultCode, data);
          MainApplication.getCallbackManager().onActivityResult(requestCode, resultCode, data);
      }

      @Override
      protected String getMainComponentName() {
          return "reactnavigationdrawer";
      }
  }

MainApplication.java

代码语言:javascript
代码运行次数:0
复制
  @Override
  protected List<ReactPackage> getPackages() {
     return Arrays.<ReactPackage>asList(
        new MainReactPackage(),
        new VectorIconsPackage(),
        new ImagePickerPackage(),
        new RNFetchBlobPackage(),
        new FIRMessagingPackage(),
        new FBSDKPackage(mCallbackManager)
    );
 }

AndroidManifest.xml

代码语言:javascript
代码运行次数:0
复制
  <manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.reactnavigationdrawer"
      android:versionCode="1"
      android:versionName="1.0">

      <uses-permission android:name="android.permission.INTERNET" />
      <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
      <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
      <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
      <uses-permission android:name="android.permission.CAMERA" />
      <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
      <uses-permission android:name="android.permission.VIBRATE" />
      <uses-feature android:name="android.hardware.camera" android:required="false"/>
      <uses-feature android:name="android.hardware.camera.autofocus" android:required="false"/>

      <uses-sdk
          android:minSdkVersion="16"
          android:targetSdkVersion="22" />

      <application
        android:name=".MainApplication"
        android:allowBackup="true"
        android:label="@string/app_name"
        android:icon="@mipmap/ic_launcher"
        android:theme="@style/AppTheme">

        <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>
        <meta-data android:name="com.google.firebase.messaging.default_notification_icon" android:resource="@drawable/ic_launcher"/>

        <service android:name="com.evollu.react.fcm.MessagingService" android:enabled="true" android:exported="true">
           <intent-filter>
             <action android:name="com.google.firebase.MESSAGING_EVENT"/>
           </intent-filter>
        </service>

        <service android:name="com.evollu.react.fcm.InstanceIdService" android:exported="false">
           <intent-filter>
             <action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
           </intent-filter>
        </service>

        <receiver android:name="com.evollu.react.fcm.FIRLocalMessagingPublisher"/>
        <receiver android:enabled="true" android:exported="true"  android:name="com.evollu.react.fcm.FIRSystemBootEventReceiver">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED"/>
                <action android:name="android.intent.action.QUICKBOOT_POWERON"/>
                <action android:name="com.htc.intent.action.QUICKBOOT_POWERON"/>
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </receiver>
        <activity
          android:name=".MainActivity"
          android:launchMode="singleTop"
          android:label="@string/app_name"
          android:screenOrientation="portrait"
          android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
          android:windowSoftInputMode="adjustResize">
          <intent-filter>
              <action android:name="android.intent.action.MAIN" />
              <category android:name="android.intent.category.LAUNCHER" />
          </intent-filter>
        </activity>
        <activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
      </application>
  </manifest>

如果你需要更多的信息你会告诉我的!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-19 15:46:50

错误读起来..。

无法解析com.evullu.react.fcm.MessagingService的超类的

这意味着Mainfest.xml中的引用是错误的和/或引用的类com.evullu.react.fcm.MessagingService不存在。它可能更像是com.reactnavigationdrawer.MessagingService (或类似的),也不需要编译过时的包play-services-gcm

最好为com.google.firebase:firebase-messaging:11.8.0 ...which添加一个依赖项,它应该包含无法解决的superclass of com.evullu.react.fcm.MessagingService。您可以使用./gradlew app:dependencies | grep firebase检查它是否存在。

这个文件build.gradlew应该叫做build.gradle,Android可能会抱怨过时的版本-- ...meanwhile,it's com.android.tools.build:gradle:3.0.1 & com.google.gms:google-services:3.1.2。在这种情况下,force = true;似乎也是无用的,至少不明白它在那里应该做什么,参见ResolutionStrategy

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48871022

复制
相关文章
ClassNotFoundException
ClassNotFoundException:org.springframework.web.con text.ContextLoaderListener
the5fire
2019/02/28
9340
rpc 报错 ClassNotFoundException
rpc发送Request对象报错 java.lang.ClassNotFoundException
Antler
2019/01/06
9220
ClassNotFoundException v/s NoClassDefFoundError
在这个小节里,我们讨论一下ClassNotFoundException与NoClassDefFoundError的区别。
Erossssssss
2021/04/09
1.3K0
ClassNotFoundException v/s NoClassDefFoundError
理解ClassNotFoundException与NoClassDefFoundError的区别
但是你知道他们的区别吗?以及什么情况下发生上面的异常? 如果你还不清楚,那么不着急,我们来仔细分析一下:
我是攻城师
2018/10/19
9.3K0
理解ClassNotFoundException与NoClassDefFoundError的区别
NoClassDefFoundError 和 ClassNotFoundException异常
1.简介 ClassNotFoundException和NoClassDefFoundError是当JVM无法找到classpath请求的类发生。
FHAdmin
2021/08/04
1.1K0
ClassNotFoundException,NoClassDefFoundError,NoSuchMethodError排查
在使用java开发的过程中时常会碰到以上三个错误,其中NoClassDefFoundError、NoSuchMethodError两个error遭遇得会多一些。本文会简单分析三个异常发生的原因,并给出排查思路和相关工具。
LNAmp
2018/09/05
2K0
Intellij IDEA 启动项目ClassNotFoundException
严重: Error configuring application listener of class org.springframework.web.context.ContextLoaderListener
程序新视界
2022/11/30
1.2K0
Intellij IDEA 启动项目ClassNotFoundException
查看本机IP
有时候,在登录到云服务器之后,可能需要在终端查询该服务器的ip。 之前我都是用的 ip.cn ,但是感觉不行了。 现在提供一些其他的可选择项: $ curl ipinfo.io { "ip": "60.205.205.243", "city": "", "region": "", "country": "CN", "loc": "34.7725,113.7270", "org": "AS37963 Hangzhou Alibaba Advertising Co.,Ltd." } $
魔王卷子
2019/05/31
7.1K0
异常:java.lang.ClassNotFoundException
如图: 说明缺少相应的包(或者类),上图就是缺少commons-logging-1.2的jar包,导入即可 补充,在maven项目中, 可能是版本不兼容, 因为不同版本相关的jar内里面的类可能不同,
时间静止不是简史
2020/07/27
7480
异常:java.lang.ClassNotFoundException
ClassNotFoundException和NoClassDefFoundError的区别
最近看到一个面试题,问ClassNotFoundException和NoClassDefFoundError的区别。平时没有专门思考过这个问题,藉此机会分析一下。
明明如月学长
2021/08/27
1.6K1
ClassNotFoundException解决方案总结
ClassNotFoundException:类找不到异常。首先看你的logcat中是否显示Caused by : java.lang.ClassNotFoundExcetion..
fanfan
2022/05/07
5.2K0
ClassNotFoundException解决方案总结
ClassNotFoundException 和 NoClassDefFoundError 的区别
Java 面试中有个很常见的问题:请对比 Exception 和 Error,另外一个,“运行时异常” 与 “一般异常” 有什么区别? 今天在看 「极客时间」的 《Java 核心技术 36 讲》 中又有提到。 大家都熟悉的典型回答: Exception 和 Error 都是继承了 Throwable 类,在 Java 中只有 Throwable 类型的实例才可以被抛出(throw)或者捕获(catch),它是异常处理机制的基本组成类型。 Exception 和 Error 体现了 Java 平台设计者
阿凯
2018/06/29
6.6K0
Android使用MultiDex发生ClassNotFoundException
在Method与Filed数超限的背景下,我们将多工程拆分成多个Dex打到Apk中解决该问题,但是在使用MultiDex的时候,还会遇到一些问题。 在启动的时候会发生如下Crash。 在4.4以下会Crash,而5.0以上则不会发生Crash
None_Ling
2018/10/24
1.9K0
AMD的规范演化
对于web项目来说,打交道的不仅仅有后台,前台页面也是少不了的,而前台的页面js也常常是我们后台程序员必须要使用的语言, 今天说下项目中的js的组织方式。
付威
2018/12/04
7270
应用架构演化进程
那么应用架构主要有哪些阶段呐?这里作者凭着自己的理解粗糙的讨论一下。算是对这个问题的一种探索吧!
写一点笔记
2022/08/11
3460
hudi 模式演化
模式演化是数据管理的一个非常重要的方面。 Hudi支持常见的模式演变场景,比如添加一个空字段或提升一个字段的数据类型,开箱即用。 此外,该模式可以跨引擎查询,如Presto、Hive和Spark SQL。 下表总结了与不同Hudi表类型兼容的模式更改类型。
从大数据到人工智能
2022/01/19
4500
【演化计算】Evolutionary Forest——基于演化算法的自动特征工程框架
在传统的机器学习领域,构建鲁棒且有意义的特征可以显著改善最终模型的性能。尤其是随着深度学习的发展,特征自动构建已经不再是一件新鲜事。但是,在传统机器学习领域,尤其是数据量不足的时候,基于深度学习的特征构建算法往往难以取得满意的效果。此外,深度学习的黑盒特性也影响了深度学习算法在金融和医疗领域的应用。因此,本文旨在探索一种新的基于演化算法的自动特征构建算法(Evolutionary Forest)在特征工程方面的效果。为了简单起见,我选择了scikit-learn包中的一个问题作为案例研究问题。这项任务被称为“diabetes”,其目标是预测一年后该疾病的进展情况。
演化计算与人工智能
2021/06/10
7940
ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
进入workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps
程裕强
2022/05/06
4360
ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
PHP-MVC演化
2、将上一讲的MyPDO类拷贝到站点下,改名为MyPDO.class.php,这个文件中只存放MyPDO类
cwl_java
2020/03/28
6640
查看本机IP的方法
1. 打开网络和共享中心 2.更改适配器设置 3. 右键选择 状态 4.选择详情 5.找到IP
微风-- 轻许--
2020/04/08
17.6K0
查看本机IP的方法

相似问题

反应本机反应-本机反应

26

React本机崩溃ClassNotFoundException

17

本机反应-“反应-本机-资产”未被识别

15

反应-本机-反应-本机更新-等级-错误

10

反应本机,反应-本机init AwesomeProject,反应-本机运行-ios:错误

23
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文