-2

Я пытаюсь вызывать предупреждения Android с помощью Parse, но приложение выходит из строя.Push android-уведомления с использованием parse, NoClassDefFoundError: com.parse.Parse

Вот мой код ParseApplication.java:

public class ParseApplication extends Application{ 

@Override 
public void onCreate() { 
    // TODO Auto-generated method stub 
    super.onCreate(); 
    Parse.initialize(this, "t9FCgoS4236bMVSZiXUWyzjX4pHMIThqRQA75Msh", "xNPNRx9su5iiAK8owJoozEK0Ft2cZenanCJ06Y3V"); 
    PushService.setDefaultPushCallback(this, MainActivity.class); 
    ParseInstallation.getCurrentInstallation().saveInBackground(); 
} 

ParseReceiver.java

public class ParseReceiver extends BroadcastReceiver{ 

private final String TAG = "Parse Notification"; 
private String msg = ""; 
@Override 
public void onReceive(Context arg0, Intent arg1) { 
    // TODO Auto-generated method stub 
Log.i(TAG, "PUSH RECEIVED!!!"); 

    try { 
     String action = arg1.getAction(); 
     String channel = arg1.getExtras().getString("com.parse.Channel"); 
     JSONObject json = new J JSONObject(arg1.getExtras().getString("com.parse.Data")); 

     Log.d(TAG, "got action " + action + " on channel " + channel + " with:"); 
     Iterator itr = json.keys(); 
     while (itr.hasNext()) { 
      String key = (String) itr.next(); 
      Log.d(TAG, "..." + key + " => " + json.getString(key)); 
      if(key.equals("string")){ 
       msg = json.getString(key); 
      } 
     } 
    } catch (JSONException e) { 
     Log.d(TAG, "JSONException: " + e.getMessage()); 
    } 


    Bitmap icon = BitmapFactory.decodeResource(arg0.getResources(), 
      R.drawable.happy); 

    Intent launchActivity = new Intent(arg0, MainActivity.class); 
    PendingIntent pi = PendingIntent.getActivity(arg0, 0, launchActivity, 0); 

    Notification noti = new NotificationCompat.Builder(arg0) 
    .setContentTitle("PUSH RECEIVED") 
    .setContentText(msg) 
    .setSmallIcon(R.drawable.happy) 
    .setLargeIcon(icon) 
    .setContentIntent(pi) 
    .setAutoCancel(true) 
    .build(); 

    NotificationManager nm = (NotificationManager)arg0.getSystemService(Context.NOTIFICATION_SERVICE); 
    nm.notify(0, noti); 
} 

}

Мой AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.example.parse" 
android:versionCode="1" 
android:versionName="1.0" > 

<uses-sdk 
    android:minSdkVersion="11" 
    android:targetSdkVersion="11" /> 
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 
<uses-permission android:name="android.permission.VIBRATE" /> 
<uses-permission android:name="android.permission.WAKE_LOCK"/> 
<application 
    android:allowBackup="true" 
    android:name="com.example.parse.ParseApplication" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" 
    > 
    <activity 
     android:name="com.example.parse.MainActivity" 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <receiver android:name=".ParseReceiver" > 
     <intent-filter> 
      <action  android:name="com.makemyandroidapp.parsenotificationexample.RECEIVE_PUSH" /> 
     </intent-filter> 
    </receiver> 
    <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> 
</application> 

И мой LogCat:

04-25 09:53:49.754: I/dalvikvm(370): Could not find method com.parse.Parse.initialize, referenced from method c  com.example.parse.ParseApplication.onCreate 
04-25 09:53:49.784: W/dalvikvm(370): VFY: unable to resolve static method 43: Lcom/parse/Parse;.initialize (Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)V 
04-25 09:53:49.784: D/dalvikvm(370): VFY: replacing opcode 0x71 at 0x0007 
04-25 09:53:49.804: D/AndroidRuntime(370): Shutting down VM 
04-25 09:53:49.804: W/dalvikvm(370): threadid=1: thread exiting with uncaught  exception (group=0x40014760) 
04-25 09:53:49.905: E/AndroidRuntime(370): FATAL EXCEPTION: main 
04-25 09:53:49.905: E/AndroidRuntime(370): java.lang.NoClassDefFoundError: com.parse.Parse 
04-25 09:53:49.905: E/AndroidRuntime(370): at com.example.parse.ParseApplication.onCreate(ParseApplication.java:16) 
04-25 09:53:49.905: E/AndroidRuntime(370): at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:968) 
04-25 09:53:49.905: E/AndroidRuntime(370): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:3580) 
04-25 09:53:49.905: E/AndroidRuntime(370): at android.app.ActivityThread.access$2200(ActivityThread.java:123) 
04-25 09:53:49.905: E/AndroidRuntime(370): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1031) 
04-25 09:53:49.905: E/AndroidRuntime(370): at android.os.Handler.dispatchMessage(Handler.java:99) 
04-25 09:53:49.905: E/AndroidRuntime(370): at android.os.Looper.loop(Looper.java:126) 
04-25 09:53:49.905: E/AndroidRuntime(370): at android.app.ActivityThread.main(ActivityThread.java:3997) 
04-25 09:53:49.905: E/AndroidRuntime(370): at java.lang.reflect.Method.invokeNative(Native Method) 
04-25 09:53:49.905: E/AndroidRuntime(370): at java.lang.reflect.Method.invoke(Method.java:491) 
04-25 09:53:49.905: E/AndroidRuntime(370): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841) 
04-25 09:53:49.905: E/AndroidRuntime(370): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599) 
04-25 09:53:49.905: E/AndroidRuntime(370): at dalvik.system.NativeStart.main(Native Method) 
04-25 09:53:57.356: I/Process(370): Sending signal. PID: 370 SIG: 9 

Как я могу это исправить?

+0

Вы добавили parse lib к проекту? – Zelldon

+0

yeahh ... Я добавил parse.jar в свою библиотеку. –

+0

Прошу показать строку 16 в ParseApplication. – Vijay

ответ

0

Проверьте свои зависимости и убедитесь, что вы компилируете Parse с вашим проектом.

+0

Я добавил parse.jar в свою библиотеку ... –

+0

проверить свои зависимости в модуле - его нужно настроить для компиляции, а также проверить ваши файлы с градиентом. – Klawikowski

+0

@SaiKumar Нет, вы не включили его должным образом, поэтому ошибка говорит «NoClassDefFoundError: com.parse.Parse», – shkschneider