Каковы необходимые зависимости gradle для серверной части App Engine с Google Cloud Messaging?

Каковы необходимые зависимости gradle для серверной части App Engine с Google Cloud Messaging?

В настоящее время, когда вы добавляете такой модуль в проект Android Studio, он добавляет эту зависимость:

'compile' com.google.android.gms: play-services: 8.4.0 '

Однако, когда вы запускаете проект, вы получаете эту ошибку:

Ошибка: не удалось выполнить задачу ': app: transformClassesWithDexForDebug'.

com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: обработать «команду» /Library/Java/JavaVirtualMachines/jdk1.7.0_79. jdk / Contents / Home / bin / java '' завершено с ненулевым значением выхода 2

Кто-то предложил использовать это:

defaultConfig {
        multiDexEnabled true
}

Но на самом деле это не сработало для меня.

Таким образом, похоже, что я должен указать только необходимые библиотеки для GAE + GCM. Пока что у меня есть:

compile 'com.google.android.gms:play-services-auth:8.4.0'
compile 'com.google.android.gms:play-services-gcm:8.4.0'
compile 'com.google.android.gms:play-services-base:8.4.0'

полный список здесь, Но это не сработало. Я получил эту ошибку:

E / GMPM: GoogleService не удалось инициализировать, статус: 10, отсутствует ожидаемый ресурс: «R.string.google_app_id» для инициализации служб Google. Возможные причины: отсутствует плагин google-services.json или com.google.gms.google-services.

Так что я в растерянности.

Есть ли другой способ обойти эту проблему? Что странно, так это то, что мои старые проекты GAE + GCM отлично работают, импортируя целые сервисы Google Play. Однако импорт этих старых версий сервисов Google Play в мой новый проект не работает. Поэтому я не уверен, что происходит.

РЕДАКТИРОВАТЬ: Еще немного информации:

Я сделал несколько тестов.

1) Запущен новый проект Android Studio, добавлен новый облачный модуль Google 'Модуль конечных точек Java App Engine'. Сгенерированный автоматически build.grade (Module: app) выглядит следующим образом:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.android.support:design:23.1.1'
    compile project(path: ':backend', configuration: 'android-endpoints')
}

Результат? Компилируется и работает отлично - без проблем!

2) Запущен новый проект Android Studio, добавлен новый облачный модуль Google «Бэкэнд App Engine с Google Cloud Messaging». автоматически сгенерированный build.grade (Module: app) выглядит так:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.android.support:design:23.1.1'
    compile 'com.google.android.gms:play-services:8.4.0'
    compile project(path: ':backend', configuration: 'android-endpoints')
}

Результат? Та же самая дерьмовая ошибка, которую я получаю!

Таким образом, похоже, что строка 'compile' com.google.android.gms: play-services: 8.4.0 '' является проблемой. Я заменил его

'compile' com.google.android.gms: play-services-gcm: 8.4.0 ''

так как в теории это все, что мне нужно для облачных сообщений Google. Когда я запускаю его, я получаю это:

12-30 14: 14: 16.482 10573-10573 / com.myapp.myapp E / GMPM: Не удалось инициализировать GoogleService, состояние: 10, Отсутствует ожидаемый ресурс: «R.string.google_app_id» для инициализации служб Google. Возможные причины: отсутствует плагин google-services.json или com.google.gms.google-services. 12-30 14: 14: 16.482 10573-10573 / com.myapp.myapp E / GMPM: Планировщик не установлен. Не регистрируется ошибка / предупреждение. 12-30 14: 14: 16.502 10573-10623 / com.myapp.myapp E / GMPM: загрузка невозможна. Измерение приложения отключено

Похоже, мне не хватает этого файла google-services.json или чего-то еще. Я не понимаю, что случилось с Android Studio, потому что несколько месяцев назад я сделал приложение с поддержкой GCM таким же образом, и это не компилирует. Файл gradle.build этого приложения выглядит следующим образом:

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile project(path: ':gcm-backend', configuration: 'android-endpoints')
    compile 'com.android.support:appcompat-v7:22.2.0'
    compile 'com.ganyo:gcm-server:1.0.2'
    compile 'com.google.android.gms:play-services:7.5.0'
    compile 'com.android.support:support-v4:22.2.0'
}

Похоже, что Android Studio перестала добавлять зависимость compile 'com.ganyo: gcm-server: 1.0.2' '.

Итак, я запустил проект с

'compile 'com.ganyo:gcm-server:1.0.2'
'compile 'com.google.android.gms:play-services:8.4.0'

Результат? Ошибка выполнения одинаковая.

Итак, давайте попробуем старую библиотеку play-services в моем новом проекте:

'compile 'com.ganyo:gcm-server:1.0.2'
'compile 'com.google.android.gms:play-services:7.5.0'

Результат? Ошибка выполнения одинаковая.

Я просто не понимаю, почему это не работает из коробки, как раньше ...

Ответы на вопрос(3)

Ваш ответ на вопрос