Не удалось выполнить задачу ':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/"