Не удалось выполнить задачу ':app:transformClassesWithDexForDebug' при реализации входа в Google для Android

Я пытаюсь реализовать вход в Google для Android и следую инструкциям через

https://developers.google.com/identity/sign-in/android/start-integrating

Но при создании приложения я получаю следующую ошибку.

Информация: Задачи Gradle [:app:generateDebugSources,:app:generateDebugAndroidTestSources,:app:assemblyDebug]:app:preBuild ОБНОВЛЕНИЕ:app:preDebugBuild ОБНОВЛЕНИЕ:app:checkDebugManifest:app:preReleaseBuild UP-TO- ДАТА: приложение:prepareComAndroidSupportAppcompatV72301Library UP-TO-DATE: приложение:prepareComAndroidSupportDesign2301Library UP-TO-DATE: приложение:prepareComAndroidSupportSupportV42301Library UP-TO-DATE: приложение:prepareComGoogleAndroidGmsPlayServicesAds810Library UP-TO-DATE: приложение:prepareComGoogleAndroidGmsPlayServicesAnalytics810Library UP-TO-DATE: приложение:prepareComGoogleAndroidGmsPlayServicesAppindexing810Library UP-TO-DATE: приложение:prepareComGoogleAndroidGmsPlayServicesBase810Library UP-TO-DATE: приложение:prepareComGoogleAndroidGmsPlayServicesBasement810Library UP-TO-DATE: приложение:prepareComGoogleAndroidGmsPlayServicesIdentity810Library UP-TO-DATE: приложение:prepareComGoogleAndroidGmsPlayServicesMeasurement810Library UP-TO-DATE: приложение:prepareComGoogleAndroidGmsPlayServicesPlus810Library UP-TO-DATE: приложение: prepareDebugD зависимости: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:generateDebues UP-TO-DATE:app:processDebugGoogleServices Не найдено подходящего клиента для имени пакета com.questo.rugved.questo:app:generateDebugResources:app:mergeDebugResources UP-TO-DATE:app:processDebugManifest UP-TO-DATE:app: ProcessDebugResources UP-TO-DATE:app:generateDebugSources UP-TO-DATE:app:preDebugAndroidTestBuild UP-TO-DATE:app:prepareDebugAndroidTestDependencies:app:compileDebugAndroidTestAidl UP-TOest-DATE: approidDebDEDDEFDEND-app-DED-DABE UP-TO-DATE: приложение: generateDebugAndroidTestBuildConfig UP-TO-DATE:app:generateDebugAndroidTestAssets ОБНОВЛЕНИЕ: app: mergeDebugAndroidTestAssets ОБНОВЛЕНИЕ:app:generateDebugAndroidTestResVesVes UP-TODATE: генерирование обновления: приложение: mergeDebugAndroidTestResources ОБНОВЛЕНИЕ: app: processDebugAndroidTestResources ОБНОВЛЕНИЕ: app: generateDebugAndroidTestSources ОБНОВЛЕНИЕ:app:compileDebugJavaWithJavac ОБНОВЛЕНИЕ:app:compileDebugNdk ОБНОВЛЕНИЕ: app: comp: ДАТА:app:transformClassesAndResourcesWithExtractJarsForDebug:app:transformClassesWithDexForDebug НЕОЖИДАННОЕ ИСПОЛЬЗОВАНИЕ ВЕРХНЕГО УРОВНЯ: Ошибка: сбой при выполнении задачи ": приложение: transformClassesWithDexForDebug". com.android.build.transform.api.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: обрабатывать "команду" /usr/lib/jvm/java-7-oracle/bin/java'' завершено с ненулевым значением выхода 2 Информация:BUILD FAILED Информация: Общее время: 1 мин 39,994 сек. Информация: 1 ошибка. Информация:0 предупреждений. Информация: см. полный вывод в консоли.

Мой верхний уровень Gradle

    buildscript {
        репозитории {
            jcenter()
        }
        зависимости {
            classpath 'com.android.tools.build:gradle:1.3.0'
            classpath 'com.google.gms:google-services:1.4.0-beta3'

            // ПРИМЕЧАНИЕ: не размещайте здесь зависимости вашего приложения; они принадлежат
            // в отдельных файлах build.gradle модуля
        }
    }

    все проекты {
        репозитории {
            jcenter()
        }
    }
    
My app level gradle is

<pre>

    apply plugin: 'com.android.application'
    apply plugin: 'com.google.gms.google-services'

    android {
        compileSdkVersion 23
        buildToolsVersion '23.0.1'

        defaultConfig {
            applicationId "com.questo.rugved.questo"
            minSdkVersion 15
            targetSdkVersion 23
            versionCode 1
            versionName "1.0"
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
    }

    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        compile 'com.android.support:appcompat-v7:23.0.1'
        compile 'com.android.support:design:23.+'
        compile 'com.google.android.gms:play-services-identity:8.1.0'
        compile 'com.google.android.gms:play-services-plus:8.1.0'
    }

пожалуйста помоги.

4 ответа

Может быть, эта ссылка поможет вам. ссылка на сайт

Это помогло мне:

android {
...
defaultConfig {
    ...
    multiDexEnabled true
    }
}

Эта проблема возникает из-за многократного включения зависимостей. Вы включаете зависимость, которая уже указана в вашем файле build.gradle. Например:

compile 'com.google.android.gms:play-services:9.0.2'
compile 'com.google.android.gms:play-services-identity:9.0.2'

Приведенная выше спецификация зависимости порождает эту проблему, потому что play-services включает в себя все, включая play-services-identity, и поэтому здесь одна и та же зависимость включена несколько раз.

Рекомендуемый вариант - включать только те зависимости, которые вам действительно нужны. Если вам нужны местоположения и карты игровых сервисов, включите только следующие зависимости:

compile 'com.google.android.gms:play-services-location:9.0.2'
compile 'com.google.android.gms:play-services-maps:9.0.2'

Без включения всего с 'com.google.android.gms:play-services:9.0.2'.

Я подозреваю, что в вашем конкретном случае возникает конфликт между google-services файла Gradle верхнего уровня и play-services-identity & play-services-plus в файле gradle уровня приложения. Использование только тех служб, которые вам особенно необходимы для разрешения множественного включения, решит вашу проблему.

В общем, вы не должны использовать "multiDexEnabled true", если у вас нет веской и законной причины. Использование его без знания фактической проблемы означает, что вы обходите проблему. Вы разрешаете множественные перекрывающиеся зависимости, что приводит к потенциальному источнику конфликтов API и большему размеру apk.

Добавление

 dexOptions {
        incremental = true;
        preDexLibraries = false
        javaMaxHeapSize "4g" // 2g should be also OK
    }

у меня в с в андроиде в build.gradle работает.

Была такая же проблема.
Мой был исправлен установкой переменной JAVA_HOME в java 8 jdk

export JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64/"   
Другие вопросы по тегам