检查设备/清单时的GCM NoClassDefFoundError

时间:2012-07-12 16:18:00

标签: java android google-cloud-messaging

我正在尝试将Google Cloud Messaging集成到我的应用程序中。 我的onCreate方法中有以下代码。

    GCMRegistrar.checkDevice(this);
    GCMRegistrar.checkManifest(this);
    if (GCMRegistrar.getRegistrationId(this).equals(""))
        GCMRegistrar.register(this, "xxxxxxxxxxxx");

我已正确导入GCMRegistarar,我已将GCM.jar添加到构建路径并设置了清单。我安装到2.2机器人1.每当应用程序启动时,我得到以下崩溃。

enter image description here

我的清单如下

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

<uses-permission android:name="android.permission.INTERNET" />

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

<permission
    android:name="com.my.project.permission.C2D_MESSAGE"
    android:protectionLevel="signature" />

<uses-permission android:name="com.my.project.permission.C2D_MESSAGE" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <receiver
        android:name="com.google.android.gcm.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.my.project" />
        </intent-filter>
    </receiver>

    <service android:name=".GCMIntentService" />

    <activity
        android:name=".Index"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

1 个答案:

答案 0 :(得分:2)

我最终将gcm.jar复制到libs文件夹中,然后将gcm.jar引用到我的构建路径。它现在正在运作。