GCM: java.яз..NoClassDefFoundError: com.гугл.андроид.ОЦМ.GCMRegistrar


Пожалуйста, помогите, это все дни, что я работаю над этой проблемой и использовал все возможные решения, найденные в интернете.

Требования: Используйте juno eclipse, ADT 20 У меня есть работа с business 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);

        }

Я прилагаю скриншот упражнения min Я добавил gcm.библиотека Джара и я сделали все, что я нашел.

Я новый пользователь, чем я не могу разместить img, но я поставил публичную ссылку на bropbox https://www.dropbox.com/s/dyi0y4sppz4rcq3/img%20GCM%20problem.zip

3 2

3 ответа:

Как указано в документах 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" в вашем проекте и поместить туда банку

Решение 1:

  1. Проверьте, что вы поставили gcm.jar файл внутри libs и не lib папка.

Решение 2:

В основном это проблема.Выполните следующие действия, чтобы решить эту проблему:

  1. щелкните правой кнопкой мыши на проекте ->построить путь-> настройте путь сборки , а затем порядок и экспорт
  2. Теперь проверьте личные библиотеки Android .Флажок следует проверить требуемую библиотеку .
  3. обновить, очистить и запустить..вот, держи!

Проблема была в моем эмуляторе без Google Apis (Google Inc). Если вы используете эмулятор android, вам нужно создать эмулятор с помощью Google API (Google Inc).