Android studio 3.0: невозможно разрешить зависимость для: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'.
31 ответ
С 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{ ... }
}
Вы имеете в своем файле (app) build.gradle, Вы должны включить все buildTypes{ }
с такими же именами, как и
buildTypes{
debug{ ... }
release{ ... }
}
в к build.gradle
файлы всех библиотек / модулей, включенных в проект.
очистите и перестройте проект, проблема будет исправлена.
Проблема по-прежнему не устранена, обновите файл gradle-wrapper.properties до
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
Как указано в официальном руководстве по миграции, эта ошибка возникает, когда:
Ваше приложение включает тип сборки, который не зависит от библиотеки
android {
buildTypes {
release {
...
}
dexOptions {
...
// release & debug is in project animators
matchingFallbacks = ['release', 'debug']
}
debug {
...
}
}
}
Установка подходящих резервных конфигураций - это верный способ решить эту проблему.
Убедитесь, что вы в своем проекте
- Откройте Настройки, нажав Файл > Настройки (на Mac,Android Studio > Настройки).
- На левой панели щелкните Построение, Выполнение, Развертывание >> Gradle.
- Снимите/отключите
Offline work
флажок. - Нажмите Применить или ОК.
Я потратил много времени на эту проблему, и ни одно из вышеперечисленных решений не помогло мне. Имена и количество типов сборки также были одинаковыми как в приложении, так и в проекте библиотеки.
Единственная ошибка, которую я сделал, была - В build.gradle библиотечного проекта я использовал строку
применить плагин: 'com.android.application'
Хотя эта строка должна быть -
применить плагин: 'com.android.library'
После внесения этого изменения эта ошибка была устранена.
Изменить все
compile project(':library:yourproject')
в
implementation project(path: ':library:yourproject', configuration:'default')
в вашем приложении build.gradle. Обратите внимание на строку с конфигурацией.
Я перепробовал все, от снятия отметки с офлайн-работы до соответствующих откатов. Но ничего не сработало.
Затем в зависимостях app.gradle,
вместо
проект внедрения (':lib-name')
Я использовал,
проект реализации (путь:':lib-name', конфигурация: 'default')
Например: implementation project(path:':myService', configuration: 'default')
И это сработало как шарм.:)
Я добавил модуль зависимости с сервисом и не делаю библиотеку частью проекта AOSP.
На всякий случай, это кому-то помогает.
Решение:
Загрузите окончательную версию Gradle
http://services.gradle.org/distributions/
gradle-4.x-rc-1-all.zip.sha256 09 января 2018 года 01:15 +0000 64,00B
Распакуйте дистрибутив
Перейдите в Android Studio -> Файл -> Настройки -> Gradle -> Использовать локальное распространение Gradle. Найдите файл и нажмите ОК.
В gradle: app напишите это, реализация (путь: ':animators', конфигурация: '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']
}
Моя проблема ниже
Unable to resolve dependency for ':app@debug/compileClasspath': Could not download rxjava.jar (io.reactivex.rxjava2:rxjava:2.2.2)
Решено проверкой Enable embedded Maven Repository
У меня была та же проблема, и я решил ее, добавив mavenCentral() в build.gradle(Project)
allprojects {
repositories {
...
mavenCentral()
}
}
Измените этот код в Gradle:
compile project(':yourLibrary')
в
implementation project(path: ': yourLibrary', configuration:'default')
Даже я столкнулся с той же проблемой.
Я исправил проблему, сославшись на вышеуказанное Решение 2 с новым g radle-4.1:
Я сделал следующие изменения Gradle. Кажется, что загрузка ресурсов через maven Amazon помогла мне решить проблему, есть проблемы с библиотекой appcompat. Проверьте и убедитесь, что appcompat совместимые библиотеки поддержки загружены в вашу систему. Что я чувствую, это просто ресурсы, не загруженные через maven, что вызывает проблему с компиляцией. Убедитесь, что ресурсы найдены на вашем локальном диске, чтобы решить эту проблему.
Просто поиграл с
- URL-адрес Maven Amazon
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'
}
---------------------------------------------------------------------------
Убедитесь, что вы отключили "Автономную работу" в настройках Gradle (Настройка-> Сборка, Выполнение, Развертывание-> Инструменты сборки->Gradle).
Я сделал эту ошибку. Я следовал руководству по ускорению сборки gradle и включил опцию автономной работы. Если это включено, Gradle не сможет загружать какие-либо новые зависимости и, следовательно, приведет к ошибке "Невозможно разрешить зависимость".
Я нашел два типа решений:
Решение со старой g radle-3.3:
В качестве первого и временного решения для запуска проекта с Android Studio 3.0, я поддерживаю старую конфигурацию моего предыдущего Android Studio 2.3
distributionUrl = https: //services.gradle.org/distributions/g radle-3.3-all.zip, compileSdkVersion 25** и **buildToolsVersion "25.0.3" и classpath 'com.android.tools.build:gradle:2.3.3
Решение с новым g radle-4.1:
Для работы с новыми функциями gradle 4.1 и classpath com.android.tools.build:gradle:3.0.0' я перешел по этой ссылке https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration.html. Итак, это мои реализации:
В файле gradle-wrapper.properties:
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'
}
В build.gradle библиотечного аниматора я обновляю 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"
}
Вам просто нужно сбросить зависимости в файле app.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'
Это также может произойти, когда вы добавляете ссылку на функциональный модуль, который использует неправильный тип плагина. Просто поменяй com.android.application
в com.android.feature
или же com.android.library
Добавление productFlavors{} в приложение build.gradle решило эту проблему для меня. Увидеть ниже:
buildTypes {
release {
...
}
}
productFlavors {
}
Я встретил те же проблемы и решил.
Из-за моей ситуации, я думаю, ваш build.gradle
Файл для проекта приложения содержит следующие фрагменты:
android {
...
buildTypes {
debug {...}
release {...}
dexOptions {...}
}
}
но на самом деле, dexOptions
это не тип сборки, вы должны двигаться dexOptions
разделить buildTypes
, как это:
android {
...
dexOptions {
...
}
buildTypes {
debug {...}
release {...}
}
}
Надеюсь, что это может помочь кому-то.
Я думаю, что это из gradle-wrapper.properties
файл: сделать дистрибутивный URL distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip
и не придерживайтесь: distributionUrl=https\://services.gradle.org/distributions/gradle-4 ....
Эта ветка, кажется, немного удивилась, однако, что касается исходного вопроса, вы не только должны иметь свои buildTypes в обоих файлах build.gradle, вы должны иметь ваши productFlavors (если вы, конечно, используете их) в обоих файлы build.gradle также.
Я перепробовал все решения, приведенные выше, и ни одно из них не сработало для меня, я гарантировал, что у меня есть точные типы сборки и варианты продукта в моем модуле библиотеки и модуле приложения.
В моем случае проблема была из-за зависимости, которую я пытался импортировать (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" }
}
}
Надеюсь, это поможет кому-то, как и мне.
Похоже, это ошибка на Gradle. Это решает проблему для меня, но это не решение. Мы должны ждать новой версии, решающей эту проблему.
В build.gradle в проекте установите classpath 'com.android.tools.build:gradle:2.3.3' вместо classpath 'com.android.tools.build:gradle:3.0.0'.
На gradle-wrapper.properties установите https://services.gradle.org/distributions/gradle-3.3-all.zip вместо https://services.gradle.org/distributions/gradle-4.1.2-all.zip
Если вы используете Android Studio в Linux:
идти к: Home/Android Studio Projects folder/App name folder
откройте терминал на этой странице и введите:
./gradlew -Dhttp.proxyHost
проверить, если JAVA_HOME
устанавливается в допустимом каталоге, если не задано правильное местоположение, наконец пересоберите ваш проект.
ПРИМЕЧАНИЕ: если это не сработает, удалите папку кэша Gradle или все это и загрузите снова с Android Studio.
Я сталкиваюсь с той же ошибкой, когда пытаюсь импортировать какой-либо проект с более низкой версией Gradle и случайно останавливаю установку Gradle. Я исправляю эту проблему, отключая автономный режим, и заканчивая установку более низкой версии Gradle.
Я попытался запустить Android Studio 3.0.1 с подключением к Интернету. Студия Android начала автоматически загружать что-то по ссылке, которая отображалась в уведомлении о сборке Gradle. Я не могу сказать, что это верный ответ, но попробуйте это... может быть, вы можете решить свою проблему.
После обновления андроид студии до 3.3. Я столкнулся с этой проблемой, когда пытался загрузить Firebase JobDispatcher. Добавление этой ссылки на gradle.properties решило мою проблему
distributionUrl=https://services.gradle.org/distributions/gradle-4.1-all.zip
У меня было 2 варианта в библиотеке, app gradle должен иметь такой же вкус
Добавьте библиотеку из Файл-> Правой кнопкой мыши-> Создать-> Модуль-> Импортировать проект Eclipse ADT-> Просмотрите вашу библиотеку-> Готово. Теперь добавьте в настройку gdle приложения следующий код:
implementation project(':library')
Наконец добавьте в настройку gradle следующий код:
include ':app', ':library'
Это может быть старая тема, но ни один из предложенных шагов не помог мне. Поэтому я придумала это глупое решение.
Просто иди в Settings
> Build, Execution, Deployment
> Gradle
и снимите флажок Оффлайн работа
Это означает только то, что ваша среда настроена для автономной работы и не может загрузить репозиторий библиотеки git. Ваш gradle не будет обновлять / загружать что-либо, что вы положили туда, если на локальном компьютере уже нет автономной / кэшированной копии этой библиотеки.
Ура, если вы нашли это полезным