2

请帮忙,我整天都在解决这个问题,并使用了在网上找到的所有可能的解决方案。

要求:使用juno eclipse,ADT 20 我曾与商业GCM合作,我使用Android开发者的演示做了一个更复杂的项目(http://developer.android.com/guide/google/gcm/demo.html)而且我意识到我的应用程序在 Crask 每个调用类 GCMRegistrar 中。

因此,我创建了一个最小的练习,如果我解锁所有内容,它将起作用。

import com.google.android.gcm.GCMRegistrar;

    public class Manda extends Activity {

        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_manda);

        crash --->  GCMRegistrar.checkDevice(this);

            // while developing the app, then uncomment it when it's ready.

            GCMRegistrar.checkManifest(this);

        }

我附上了我添加 gcm.jar 库的最小练习的屏幕截图,我做了所有我发现的事情。

我是新用户,无法发布 img,但我放了一个 bropbox 的公共链接 https://www.dropbox.com/s/dyi0y4sppz4rcq3/img%20GCM%20problem.zip

4

3 回答 3

1

如 Google 的文档中所述,您必须将 AndroidManifast.xml 文件添加到以下内容:

<service android:name="YOUR.PACKAGE.NAME.GCMIntentService" />

<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="YOUR_CATEGORY_NAME" />
            </intent-filter>
        </receiver>

确保将 IntentService 类放在正确的包中。

另外,您是如何将 gcm.jar 添加到您的项目中的?您需要在项目中创建一个“libs”文件夹并将 jar 放在那里

于 2012-10-04T19:22:41.970 回答
0

解决方案1:

  1. 检查您是否已将gcm.jar文件放入libs不是 lib 文件夹中。

解决方案2:

大多数情况下这是问题。请按照以下步骤解决问题:

  1. 右键单击项目->构建路径->配置构建路径然后订购和导出
  2. 现在检查Android Private Libraries复选框应该检查所需的库。
  3. 刷新,清洁并运行..给你!
于 2013-10-29T10:51:21.607 回答
0

问题是我的模拟器没有 Google API(Google Inc)。如果您使用的是 android 模拟器,则必须使用 Google APIs (Google Inc) 创建模拟器。

于 2013-10-29T15:15:17.177 回答