Android studio 3.0: не удается разрешить зависимость for:app@dexOptions/compileClasspath': не удалось решить проект: аниматоры
Я мигрирую в Android studio 3.0. Итак, проект не может скомпилировать модуль с именем": animator", и он отображает мне эту ошибку:
Error:Unable to resolve dependency for
':app@dexOptions/compileClasspath': Could not resolve project
:animators. <a
href="openFile:/home/mobilepowered/MobilePowered/MyInnovalee/trunk17-10-2017/app/build.gradle">Open
File</a><br><a href="Unable to resolve dependency for
':app@dexOptions/compileClasspath': Could not resolve project
:animators.">Show Details</a>
и показать детали дает этот журнал:
Unable to resolve dependency for ':app@dexOptions/compileClasspath':
Could not resolve project :animators.
Could not resolve project :animators. Required by:
project :app
Unable to find a matching configuration of project :animators:
- Configuration 'debugApiElements':
- Required com.android.build.api.attributes.BuildTypeAttr 'dexOptions' and found incompatible value 'debug'.
- Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and
found compatible value 'Aar'.
- Found com.android.build.gradle.internal.dependency.VariantAttr 'debug' but
wasn't required.
- Required org.gradle.api.attributes.Usage 'java-api' and found compatible value 'java-api'.
- Configuration 'debugRuntimeElements':
- Required com.android.build.api.attributes.BuildTypeAttr 'dexOptions' and found incompatible value 'debug'.
- Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and
found compatible value 'Aar'.
- Found com.android.build.gradle.internal.dependency.VariantAttr 'debug' but
wasn't required.
- Required org.gradle.api.attributes.Usage 'java-api' and found incompatible value 'java-runtime'.
- Configuration 'releaseApiElements':
- Required com.android.build.api.attributes.BuildTypeAttr 'dexOptions' and found incompatible value 'release'.
- Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and
found compatible value 'Aar'.
- Found com.android.build.gradle.internal.dependency.VariantAttr 'release' but
wasn't required.
- Required org.gradle.api.attributes.Usage 'java-api' and found compatible value 'java-api'.
- Configuration 'releaseRuntimeElements':
- Required com.android.build.api.attributes.BuildTypeAttr 'dexOptions' and found incompatible value 'release'.
- Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and
found compatible value 'Aar'.
- Found com.android.build.gradle.internal.dependency.VariantAttr 'release' but
wasn't required.
- Required org.gradle.api.attributes.Usage 'java-api' and found incompatible value 'java-runtime'.
27 ответов:
С Android Studio 2.3 (AS) проект отлично работает, и я могу запустить приложение. После обновления AS до Android Studio 3.0. я тоже получил ошибку, как показано ниже для библиотек и типа.
Unable to resolve dependency for ':app@dexOptions/compileClasspath': Could not resolve project : library_Name. Unable to resolve dependency for ':app@release/compileClasspath': Could not resolve project : library_Name.
чтобы решить эту проблему, просто.
что-нибудь
buildTypes{ debug{ ... } release{ ... } }
у вас есть в вашей (приложение) построить.gradle файл, вы должны включить все
buildTypes{ }
С теми же именами, что и likebuildTypes{ debug{ ... } release{ ... } }
на
build.gradle
файлы все библиотеки / модули, включенные в проект.очистить и перестроить проект, проблема будет исправлена.
все еще проблема не исправлена, обновите gradle-обертку.свойства для
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
убедитесь, что вы в вашем проекте
- откройте Настройки, нажав File>настройки (в Mac, Android Studio>настройки).
- в левой панели, нажмите кнопку Сборка, Выполнение, Развертывание >>ш .
- убрать/отключить the .
- клик применить или ОК.
Как говорится в официальное руководство по миграции, эта ошибка возникает, когда:
ваше приложение включает тип сборки, который не зависит от библиотеки
android { buildTypes { release { ... } dexOptions { ... // release & debug is in project animators matchingFallbacks = ['release', 'debug'] } debug { ... } } }
задание соответствующие резервные копии конфигурации это явно правильный способ решить эту проблему.
Я потратил много времени на эту проблему, и ни одно из вышеперечисленных решений не работает для меня. Имена и количество типов сборки также были точно равны как в приложении, так и в проекте библиотеки.
единственная ошибка, которую я делал, была - в сборке проекта библиотеки.gradle, я использовал line
применить плагин: 'com.андроид.применение'
в то время как эта строка должна быть -
применить плагин: - com.андроид.библиотека'
после внесения этого изменения, эта ошибка была решена.
изменить все
compile project(':library:yourproject')
до
implementation project(path: ':library:yourproject', configuration:'default')
в ваше приложение.градля. Обратите внимание на строку с конфигурацией.
устранение:
Dowload окончательная версия Gradle
http://services.gradle.org/distributions/
gradle-4.x-rc-1-все.застежка-молния.sha256 09-Jan-2018 01: 15 +0000 64.00 B
распаковать дистрибутив
перейдите в Android Studio - > File - > Settings -> Gradle - > Use local gradle distribution Найдите файл и OK
в gradle:app напишите это, реализация(путь:': аниматоры', конфигурация: 'default')
dependencies { . . implementation project(path: ':animators', configuration: 'default')
}
вот как я решил свою проблему.
вместо
compile project(':library_name') comple project(':library_name')
в приложении gralde я использовал
implementation project(':library_name') implementation project(':library_name')
и в моих типах сборки, например
demoTest { ......... }
Я добавил эту строку
demoTest { matchingFallbacks = ['debug', 'release'] }
даже, я столкнулся с той же проблемой.
я исправил проблему, ссылаясь на вышеизложенное Решение 2 с новым градом-4.1:
Я сделал следующие изменения gradle. Кажется, загрузка ресурсов через Maven Amazon помогла мне решить эту проблему, есть проблемы с библиотекой appcompat. Проверьте и убедитесь, что в вашей системе загружены библиотеки поддержки, совместимые с appcompat. То, что я чувствую, это просто просто ресурсы, не загруженные через maven, вызывая проблема с ошибкой компиляции. Убедитесь, что ресурсы находятся на локальном диске, чтобы устранить проблему.
как
- Maven Amazon url
repositories { maven { url "https://s3.amazonaws.com/repo.commonsware.com" } jcenter() }
- совместимые библиотеки поддержки, загруженные на диск и ссылающиеся на совместимые библиотеки в gradle.
dependencies { implementation fileTree(dir: 'libs', include: \['*.jar'\]) implementation 'com.android.support:appcompat-v7:26.0.0-alpha1' implementation 'com.android.support:support-v4:26.0.0-alpha1' implementation 'com.android.support.constraint:constraint-layout:1.0.2' }
файл
apply plugin: 'com.android.application' repositories { maven { url "https://s3.amazonaws.com/repo.commonsware.com" } jcenter() } android { compileSdkVersion 26 defaultConfig { applicationId "com.cognizant.interviewquestions.cognizantiqpractice2" minSdkVersion 18 targetSdkVersion 26 versionCode 1 versionName "1.0" javaCompileOptions { annotationProcessorOptions { includeCompileClasspath false } } dexOptions { javaMaxHeapSize "4g" preDexLibraries = false } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { implementation fileTree(dir: 'libs', include: \['*.jar'\]) implementation 'com.android.support:appcompat-v7:26.0.0-alpha1' implementation 'com.android.support:support-v4:26.0.0-alpha1' implementation 'com.android.support.constraint:constraint-layout:1.0.2' } ---------------------------------------------------------------------------
У меня была та же проблема, и я решил ее, добавив 'mavenCentral()' для сборки.gradle (проект)
allprojects { repositories { ... mavenCentral() } }
я нашел два типа решений :
решение со старым gradle-3.3:
в качестве первого и временного решения для запуска проекта с android studio 3.0, я поддерживаю старую конфигурацию моего предыдущего Android Studio 2.3
distributionUrl=протокол HTTPS://услуги.градля.орг/распределение/Gradle в-3.3-все.zip, compileSdkVersion 25 * * и * * buildToolsVersion "25.0.3" и classpath - com.андроид.инструменты.сборка: gradle: 2.3.3
решение с новым gradle-4.1:
для работы с новыми возможностями ш 4.1 и classpath com.андроид.инструменты.сборка: gradle: 3.0.0', я пошел по этой ссылке https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration.html . Итак, это мои реализации :
в файле gradle-wrapper.свойства :
distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
в файле
build.gradle
о проекте :buildscript { repositories { jcenter() google() } dependencies { classpath 'com.android.tools.build:gradle:3.0.0' //classpath 'me.tatarka:gradle-retrolambda:3.3.1' remove this line } } allprojects { repositories { google() jcenter() } } task clean(type: Delete) { delete rootProject.buildDir }
в файле build.gradle приложения:
apply plugin: 'com.android.application' //apply plugin: 'me.tatarka.retrolambda' remove this line repositories { maven { url "https://s3.amazonaws.com/repo.commonsware.com" } jcenter() mavenCentral() maven { url "https://jitpack.io" } } android { compileSdkVersion 26 buildToolsVersion "26.0.2" defaultConfig { applicationId "com.imennmn.myprojectid" minSdkVersion 21 targetSdkVersion 26 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" /** * Enabling multidex support. */ multiDexEnabled true missingDimensionStrategy 'minApi' , 'minApi24' javaCompileOptions { annotationProcessorOptions { includeCompileClasspath true } } dexOptions { javaMaxHeapSize "4g" preDexLibraries = false } } buildTypes { release { shrinkResources false minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' } } lintOptions { checkReleaseBuilds false abortOnError false } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } configurations.all { resolutionStrategy.force 'com.google.code.findbugs:jsr305:1.3.9' } /** * Solve the problem when using multiple free source libs * NOTICE or LICENSE files cause duplicates */ packagingOptions { exclude 'META-INF/LICENSE.txt' exclude 'META-INF/NOTICE.txt' exclude 'META-INF/DEPENDENCIES.txt' exclude 'META-INF/LICENSE' exclude 'META-INF/NOTICE' exclude 'META-INF/DEPENDENCIES' //exclude duplicate butterknife and parceler libs exclude 'META-INF/services/javax.annotation.processing.Processor' exclude 'META-INF/DEPENDENCIES' exclude 'META-INF/rxjava.properties' } } dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs') implementation files('libs/motwin-android-sdk-3.2.0-RELEASE-TLS.jar') implementation files('libs/notifmanager-android-lib-3.1.0-RELEASE.jar') implementation files('libs/commons-lang-2.4.jar') androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) implementation 'com.android.support:appcompat-v7:26.0.2' implementation 'com.android.support:support-v4:26.0.2' implementation 'com.android.support:design:26.0.2' implementation 'com.android.support:multidex:1.0.2' api 'com.jakewharton:butterknife:7.0.1' implementation 'de.hdodenhof:circleimageview:2.1.0' implementation 'com.android.support:percent:26.0.2' implementation 'com.google.android.gms:play-services-maps:11.4.2' implementation 'com.github.bumptech.glide:glide:3.7.0' implementation 'com.google.code.gson:gson:2.8.1' testImplementation 'junit:junit:4.12' implementation 'com.facebook.rebound:rebound:0.3.8' implementation 'com.google.android.gms:play-services-gcm:11.4.2' implementation 'io.reactivex.rxjava2:rxjava:2.1.1' implementation 'io.reactivex.rxjava2:rxandroid:2.0.1' implementation project(':animators') // Retrofit2 & XmlConverter implementation 'com.squareup.retrofit2:retrofit:2.3.0' implementation 'com.squareup.retrofit2:converter-gson:2.1.0' implementation 'com.squareup.retrofit2:adapter-rxjava:2.1.0' implementation('com.squareup.retrofit2:converter-simplexml:2.3.0') { exclude group: 'xpp3', module: 'xpp3' exclude group: 'stax', module: 'stax-api' exclude group: 'stax', module: 'stax' } implementation 'com.squareup.okhttp3:okhttp:3.4.1' implementation 'com.squareup.okhttp3:logging-interceptor:3.4.1' //Library to reports crash implementation('ch.acra:acra:4.5.0') { exclude group: 'org.json' } implementation 'com.github.kenglxn.QRGen:android:2.3.0' }
в построении.gradle библиотеки animator я обновляю targetSdkVersion до 26:
apply plugin: 'com.android.library' android { compileSdkVersion 26 buildToolsVersion '26.0.2' defaultConfig { minSdkVersion 21 targetSdkVersion 26 versionCode 1 versionName "1.0" } } dependencies { implementation "com.android.support:support-compat:26.0.2" implementation "com.android.support:support-core-ui:26.0.2" implementation "com.android.support:recyclerview-v7:26.0.2" }
убедитесь, что у вас есть отключена "Автономная работа" в настройках Gradle (Настройка - > Сборка, Выполнение, Развертывание->Инструменты Сборки->Gradle).
Я сделал эту ошибку. Я следовал руководству по ускорению сборки gradle и включил опцию автономной работы. Если это включено, Gradle не сможет загружать новые зависимости и, следовательно, приведет к ошибке "невозможно разрешить зависимость".
Я пробовал все от снятие флажка offline work до matchingFallbacks. Но ничего не получалось.
затем в зависимости приложения.gradle,
вместо
реализация проекта ( ': lib-name')
Я,
проект реализации (путь:': lib-name', конфигурация: 'default')
например:
implementation project(path:':myService', configuration: 'default')
и это сработало как заклинание. :)
Я добавить модуль зависимостей С сервис и я не делаю библиотеку как ее часть проект AOSP.
на всякий случай, это поможет кому-то.
вам просто нужно сбросить зависимости в приложении.файл gradle как старый, как
androidTestImplementation 'com.android.support.test:runner:0.5' androidTestImplementation 'com.android.support.test.espresso:espresso-core:2.2.2'
на новый
androidTestImplementation 'com.android.support.test:runner:1.0.1' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
Я встретил те же проблемы и решил.
из-за моей ситуации, я думаю, ваш
build.gradle
файл для проекта приложения содержит фрагменты ниже:android { ... buildTypes { debug {...} release {...} dexOptions {...} } }
но на самом деле,
dexOptions
не является типом сборки, вы должны двигаться изbuildTypes
, например:android { ... dexOptions { ... } buildTypes { debug {...} release {...} } }
надеюсь, что может помочь кому-то.
добавление productFlavors{} в сборку приложения.gradle решил эту проблему для меня. Смотрите ниже:
buildTypes { release { ... } } productFlavors { }
похоже, что это ошибка на Gradle. Это решает проблему для меня, но это не решение. Мы должны ждать новой версии исправления этой проблемы.
на строительство.gradle в проекте set classpath 'com.андроид.инструменты.сборка: gradle: 2.3.3' вместо classpath 'com.андроид.инструменты.сборка: gradle: 3.0.0'.
на gradle-обертке.набор свойствhttps://services.gradle.org/distributions/gradle-3.3-all.zip вместо этого https://services.gradle.org/distributions/gradle-4.1.2-all.zip
в моем случае проблема у меня была из-за зависимости, которую я пытался импортировать (BottomNavigationViewEx).
эта зависимость должна быть загружена из jitpack.io и maven.google.com, и я помещал эту конфигурацию в раздел buildscript:
buildscript { repositories { google() jcenter() maven { url "https://jitpack.io" } // this is incorrect maven { url "https://maven.google.com" } // this is incorrect } dependencies { classpath 'com.android.tools.build:gradle:3.1.2' } }
что было неверно, мне нужно удалить эти две строки maven и включить их в правый раздел "allprojects":
allprojects { repositories { google() jcenter() maven { url "https://jitpack.io" } maven { url "https://maven.google.com" } } }
надеюсь, что это поможет кому-то, как же для меня.
Я думаю, что это из : сделать распределение URL-адрес
distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip
и не вздумайте:distributionUrl=https\://services.gradle.org/distributions/gradle-4 ....
Я попытался запустить Android studio 3.0.1 с подключением к интернету. Android studio начала загружать что-то из ссылки автоматически, которая показывалась в уведомлении о сборке Gradle. Я не могу сказать, что это верный ответ, но попробуйте это.. может быть, вы сможете решить свою проблему.
Step 1: 1.Open the Preferences, by clicking File > Settings (on Mac, Android Studio > Preferences). 2.In the left pane, click Build, Execution, Deployment >> Gradle. 3.Uncheck/disable the Offline work checkbox. 4.Click Apply or OK. Step 2: downgrade the gradle-wrapper.properties content which you can access this file directory by clicking on CTRL + SHFT +R KEY e.g from distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip to distributionUrl=https\://services.gradle.org/distributions/gradle-4.0-all.zip or to any lower version like /gradle-3.9-all.zip or /gradle-3.8-all.zip
Я попробовал все решения, приведенные выше, и ни один из них не работал для меня, я гарантировал, что у меня есть точные типы сборки и вкусы продукта в моем модуле библиотеки и модуле приложения.
при использовании Android Studio на Linux:
на:
Home/Android Studio Projects folder/App name folder
откройте терминал на этой странице и введите:
./gradlew -Dhttp.proxyHost
проверить, если
JAVA_HOME
устанавливается в допустимый каталог, если не установлено допустимое местоположение, наконец, перестроить проект.примечание: если это не работает удалить папку gradle cache или все это и скачать снова с Android Studio.
этот поток, кажется, немного удивился, однако, что касается исходного вопроса, вам не только нужно иметь свои типы зданий в обеих сборках.gradle файлы, вы должны иметь свои productFlavors (если вы используете их, конечно) в обоих сборки.gradle файлы, а также.
перейдите к своей сборке.gradle (приложение) и удалить записи зависимостей и пусть он будет пустым вот так:
dependencies { }
после этого Android studio начать обновление этой части и сделать его работоспособным. Надеюсь, это поможет вам ;)
попробуйте это я уже исправить мою проблему ведь в комментариях ниже
зависимости
{
compile 'com.android.support:appcompat-v7:26.1.0' compile 'com.android.support.constraint:constraint-layout:1.0.2' //compileOnly 'com.android.support.test:runner:1.0.1' //compileOnly 'com.android.support.test.espresso:espresso-core:3.0.1' //androidTestImplementation 'junit:junit:4.12'
}