Выполнение не выполнено для задачи ': app: transformClassesWithDexForDebug' при внедрении Google для Android

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

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

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

Информация: Gradle tasks [: app: generateDebugSources,: app: generateDebugAndroidTestSources,: app: assembleDebug]: app: preBuild UP-TO-DATE: приложение: preDebugBuild UP-TO-DATE: app: checkDebugManifest: приложение: preReleaseBuild UP-TO-DATE: app: prepareComAndroidSupportAppcompatV72301Library UP-TO-DATE: app: prepareComAndroidSupportDesign2301Library UP-TO-DATE: app: prepareComAndroidSupportSupportV42301Library UP-TO-DATE: app: prepareComGoogleAndroidGmsPlayServicesAds810Library UP-TO-DATE: Приложение: prepareComGoogleAndroidGmsPlayServicesAnalytics810Library СВОЕВРЕМЕННО: Приложение: prepareComGoogleAndroidGmsPlayServicesAppindexing810Library UP-TO-DATE: приложение: prepareComGoogleAndroidGmsPlayServicesBase810Library СВОЕВРЕМЕННО: Приложение: prepareComGoogleAndroidGmsPlayServicesBasement810Library СВОЕВРЕМЕННО: Приложение: prepareComGoogleAndroidGmsPlayServicesIdentity810Library СВОЕВРЕМЕННО: Приложение: prepareComGoogleAndroidGmsPlayServicesMeasurement810Library UP-TO-DATE: приложение: prepareComGoogleAndroidGmsPlayServicesPlus810Library UP-TO-DATE: приложение: prepareDebugDependencies: app: compileDebugAidl UP-TO-DATE: приложение: compileDebugRenderscript UP-TO-DATE: app: generateDebugBuildConfig UP-TO-DATE: приложение: generateDebugAssets UP-TO-DATE: приложение: mergeDebugAssets UP-TO-DATE: app: generateDebugResValues ​​UP-TO-DATE: приложение: processDebugGoogleServices Не найдено подходящего клиента для имени пакета 'com.questo.rugved.questo': app: generateDebugResources: app: mergeDebugResources UP-TO-DATE: app: processDebugManifest UP-TO-DATE: приложение: processDebugResources UP-TO-DATE: приложение: generateDebugSources UP-TO-DATE: приложение: preDebugAndroidTestBuild UP-TO-DATE: приложение: prepareDebugAndroidTestDependencies: app: compileDebugAndroidTestAidl UP-TO-DATE: app: processDebugAndroidTestManifest UP-TO-DATE: app: compileDebugAndroidTestRenderscript UP-TO-DATE: app: generateDebugAndroidTestBuildConfig UP-TO-DATE: app: generateDebugAndroidTestAssets UP-TO-DATE: app: mergeDebugAndroidTestAssets UP-TO-DATE: app: generateDebugAndroidTestResValues ​​UP-TO-DATE: app: generateDebugAndroidTestResources UP-TO-DATE: app: mergeDebugAndroidTestResources UP-TO-DATE: app: processDebugAndroidTestResources UP-TO-DATE: app: generateDebugAndroidTestSources UP-TO-DATE: app: compileDebugJavaWithJavac UP-TO-DATE: приложение: compileDebugNdk UP-TO-DATE: приложение: compileDebugSources UP-TO-DATE: Приложение: 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' 'закончил с ненулевым выходом value 2 Информация: BUILD FAILED Информация: Общее время: 1 мин 39.994 secs Информация: 1 ошибка Информация: 0 предупреждений Информация: См. полный вывод в консоли

Мой верхний уровень gradle -

    buildscript {
        repositories {
            jcenter()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:1.3.0'
            classpath 'com.google.gms:google-services:1.4.0-beta3'

            // NOTE: Do not place your application dependencies here; they belong
            // in the individual module build.gradle files
        }
    }

    allprojects {
        repositories {
            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'
    }

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

Ответ 1

Возможно, эта ссылка вам поможет. ссылка

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

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

Ответ 2

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

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

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

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

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-сервисами верхнего уровня gradle файла и play-services-identity и play-services-plus в файле уровня приложения gradle. Использование только тех служб, которые вам необходимы для разрешения множественного включения, решит вашу проблему.

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

Ответ 3

Добавление

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

in with inroid в build.gradle работает для меня.

Ответ 4

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

export JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64/"