Сбой сборки приложения Android при добавлении бэкэнда GCM

Я хочу добавить серверную часть Google Cloud Messaging в свое приложение для Android (только один из доступных образцов). Для этого я следую официальной документации. Я развертываю на своем телефоне (Samsung A5 с Android 5.0.2)

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

После того, как я добавлю серверную часть, ее можно будет нормально развернуть на сервере разработки Google AppEngine, и я смогу увидеть ее в своем браузере.

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

Это связано с моей версией Java (1.8)?

Я заметил, что dex упоминается в трассировке стека, поэтому, возможно, это связано с номером метода ограничение? Я бы не ожидал, что, поскольку это очень маленький пример приложения, я не думаю, что мог превысить методы 64K.

Наконец, я нашел похожий вопрос, но это не помогло.


Information:Gradle tasks [:app:assembleDebug]
:app:preBuild UP-TO-DATE
:app:preDebugBuild UP-TO-DATE
:app:checkDebugManifest
:app:preReleaseBuild UP-TO-DATE
:backend:appengineDownloadSdk
:backend:compileJava UP-TO-DATE
:backend:processResources UP-TO-DATE
:backend:classes UP-TO-DATE
:backend:appengineEndpointsGetClientLibs UP-TO-DATE
:backend:appengineEndpointsExpandClientLibs UP-TO-DATE
:backend:compileEndpointsSrcJava UP-TO-DATE
:backend:processEndpointsSrcResources UP-TO-DATE
:backend:endpointsSrcClasses UP-TO-DATE
:backend:_appengineEndpointsAndroidArtifact UP-TO-DATE
:app:prepareComAndroidSupportAppcompatV72311Library UP-TO-DATE
:app:prepareComAndroidSupportDesign2311Library UP-TO-DATE
:app:prepareComAndroidSupportMediarouterV72220Library UP-TO-DATE
:app:prepareComAndroidSupportRecyclerviewV72311Library UP-TO-DATE
:app:prepareComAndroidSupportSupportV42311Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServices830Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesAds830Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesAnalytics830Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesAppindexing830Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesAppinvite830Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesAppstate830Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesAuth830Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesBase830Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesBasement830Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesCast830Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesDrive830Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesFitness830Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesGames830Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesGcm830Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesIdentity830Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesLocation830Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesMaps830Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesMeasurement830Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesNearby830Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesPanorama830Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesPlus830Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesSafetynet830Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesVision830Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesWallet830Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesWearable830Library UP-TO-DATE
:app:prepareDebugDependencies
:app:compileDebugAidl UP-TO-DATE
:app:compileDebugRenderscript UP-TO-DATE
:app:generateDebugBuildConfig UP-TO-DATE
:app:generateDebugAssets UP-TO-DATE
:app:mergeDebugAssets UP-TO-DATE
:app:generateDebugResValues UP-TO-DATE
:app:generateDebugResources UP-TO-DATE
:app:mergeDebugResources UP-TO-DATE
:app:processDebugManifest UP-TO-DATE
:app:processDebugResources UP-TO-DATE
:app:generateDebugSources UP-TO-DATE
:app:compileDebugJavaWithJavac UP-TO-DATE
:app:compileDebugNdk UP-TO-DATE
:app:compileDebugSources UP-TO-DATE
:app:transformClassesWithDexForDebug
UNEXPECTED TOP-LEVEL EXCEPTION:
Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/bin/java'' finished with non-zero exit value 2
Information:BUILD FAILED
Information:Total time: 2 mins 44.821 secs
Information:1 error
Information:0 warnings
Information:See complete output in console

person Markos Fragkakis    schedule 15.12.2015    source источник
comment
Пожалуйста, проверьте эту ссылку, может оказаться полезной defaultConfig { multiDexEnabled true }   -  person wadali    schedule 15.12.2015


Ответы (1)


Я последовал совету wadali, чтобы проверить вопрос. Ответ A.Grandt, который сработал для меня, говорит:

Еще одна вещь, на которую следует обратить внимание, это то, что вы не используете

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

Это будет импортировать ВСЕ игровые сервисы, и потребуется немного больше, чем привет, мир, чтобы превысить ограничение в 65535 методов для одного dex APK.

Всегда указывайте только те услуги, которые вам нужны

Поэтому я сохранил только это:

compile 'com.google.android.gms:play-services-gcm:8.3.0'
person Markos Fragkakis    schedule 15.12.2015