Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法实例化receiver com.parse.GcmBroadcastReceiver_Java_Android_Cordova_Ionic Framework - Fatal编程技术网

Java 无法实例化receiver com.parse.GcmBroadcastReceiver

Java 无法实例化receiver com.parse.GcmBroadcastReceiver,java,android,cordova,ionic-framework,Java,Android,Cordova,Ionic Framework,我正在编写一个使用GCM通知和解析推送的ionic应用程序。此应用程序正在使用以下插件: com.ionic.keyboard 1.0.3 "Keyboard" com.phonegap.plugins.PushPlugin 2.4.0 "PushPlugin" org.apache.cordova.core.parseplugin 0.1.0 "phonegap-parse-plugin" 应用程序启动正常,但随后崩溃。我注意到它崩溃的唯一时间是当我推送通知时,关闭应用程序,然后重新打开应用

我正在编写一个使用GCM通知和解析推送的ionic应用程序。此应用程序正在使用以下插件:

com.ionic.keyboard 1.0.3 "Keyboard"
com.phonegap.plugins.PushPlugin 2.4.0 "PushPlugin"
org.apache.cordova.core.parseplugin 0.1.0 "phonegap-parse-plugin"
应用程序启动正常,但随后崩溃。我注意到它崩溃的唯一时间是当我推送通知时,关闭应用程序,然后重新打开应用程序(每当在打开应用程序时要推送的队列中有通知时),应用程序将立即崩溃。我运行了adb logcat并在日志中进行了挖掘,发现:

E/AndroidRuntime(  424): FATAL EXCEPTION: main
E/AndroidRuntime(  424): Process: com.oceans15.channel37, PID: 424
E/AndroidRuntime(  424): java.lang.RuntimeException: Unable to instantiate receiver com.parse.GcmBroadcastReceiver: java.lang.ClassNotFoundException: Didn't find class "com.parse.GcmBroadcastReceiver" on path: DexPathList[[zip file "/data/app/com.oceans15.channel37-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.oceans15.channel37-1, /vendor/lib, /system/lib]]
E/AndroidRuntime(  424):    at android.app.ActivityThread.handleReceiver(ActivityThread.java:2518)
E/AndroidRuntime(  424):    at android.app.ActivityThread.access$1800(ActivityThread.java:161)
E/AndroidRuntime(  424):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1341)
E/AndroidRuntime(  424):    at android.os.Handler.dispatchMessage(Handler.java:102)
E/AndroidRuntime(  424):    at android.os.Looper.loop(Looper.java:157)
E/AndroidRuntime(  424):    at android.app.ActivityThread.main(ActivityThread.java:5356)
E/AndroidRuntime(  424):    at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(  424):    at java.lang.reflect.Method.invoke(Method.java:515)
E/AndroidRuntime(  424):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
E/AndroidRuntime(  424):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
E/AndroidRuntime(  424):    at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime(  424): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.parse.GcmBroadcastReceiver" on path: DexPathList[[zip file "/data/app/com.oceans15.channel37-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.oceans15.channel37-1, /vendor/lib, /system/lib]]
E/AndroidRuntime(  424):    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:67)
E/AndroidRuntime(  424):    at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
E/AndroidRuntime(  424):    at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
E/AndroidRuntime(  424):    at android.app.ActivityThread.handleReceiver(ActivityThread.java:2513)
E/AndroidRuntime(  424):    ... 10 more
W/ActivityManager(  817):   Force finishing activity com.oceans15.channel37/.CordovaApp
I/IcingCorporaProvider( 6900): UpdateCorporaTask done [took 287 ms] updated apps [took 287 ms] 
W/DropBoxManagerService(  817): Dropping: data_app_crash (1735 > 0 bytes)
我已经阅读了与本期相关的其他主题,但它们都与java相关。在我的例子中,我使用的是ionic/cordova,如果我手动编辑这些文件,它们将在下次生成应用程序时被替换。有没有其他人在基于cordova/phonegap的项目中遇到过这种情况

编辑:因为我看到其他人发布了它,这里是我的清单文件。每次我构建应用程序时都会重新制作

<?xml version='1.0' encoding='utf-8'?>
<manifest android:hardwareAccelerated="true" android:versionCode="1" android:versionName="0.0.1" package="com.oceans15.channel37" xmlns:android="http://schemas.android.com/apk/res/android">
    <supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:xlargeScreens="true" />
    <uses-permission android:name="android.permission.INTERNET" />
    <application android:hardwareAccelerated="true" android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="@string/activity_name" android:launchMode="singleTop" android:name="CordovaApp" android:theme="@android:style/Theme.Black.NoTitleBar" android:windowSoftInputMode="adjustResize">
            <intent-filter android:label="@string/launcher_name">
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <service android:name="com.parse.PushService" />
        <receiver android:name="com.parse.ParseBroadcastReceiver">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
                <action android:name="android.intent.action.USER_PRESENT" />
            </intent-filter>
        </receiver>
        <receiver android:name="com.parse.GcmBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND">
            <intent-filter>
                <action android:name="com.google.android.c2dm.intent.RECEIVE" />
                <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
                <category android:name="com.ionicframework.prototype255671" />
            </intent-filter>
        </receiver>
        <activity android:exported="true" android:name="com.plugin.gcm.PushHandlerActivity" />
        <receiver android:name="com.plugin.gcm.CordovaGCMBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND">
            <intent-filter>
                <action android:name="com.google.android.c2dm.intent.RECEIVE" />
                <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
                <category android:name="com.ionicframework.prototype255671" />
            </intent-filter>
        </receiver>
        <service android:name="com.plugin.gcm.GCMIntentService" />
    </application>
    <uses-sdk android:minSdkVersion="10" android:targetSdkVersion="19" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
    <permission android:name="com.ionicframework.prototype255671.permission.C2D_MESSAGE" android:protectionLevel="signature" />
    <uses-permission android:name="com.ionicframework.prototype255671.permission.C2D_MESSAGE" />
</manifest>


您的问题解决了吗?我也有同样的问题。最终没有使用解析来避免这种情况。@bluety找到解决方案了吗?