Android studio 3.0: невозможно разрешить зависимость для: app @dexOptions/compileClasspath ': не удалось разрешить проект: аниматоры
Я перехожу на Android 3.0. Таким образом, проект становится неспособным скомпилировать модуль с именем ": animator" и отображает мне эту ошибку:
Error:Unable to resolve dependency for
':[email protected]/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
':[email protected]/compileClasspath': Could not resolve project
:animators.">Show Details</a>
а подробные сведения показывают этот журнал:
Unable to resolve dependency for ':[email protected]/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'.
Ответы
Ответ 1
С Android Studio 2.3 (AS) проект работает нормально, и я могу запустить приложение. После обновления AS до Android Studio 3.0. я тоже получил ошибку, как показано ниже для библиотек и типов сборки.
Unable to resolve dependency for ':[email protected]/compileClasspath': Could not resolve project : library_Name.
Unable to resolve dependency for ':[email protected]/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
Ответ 2
Как указано в официальном руководстве по миграции, эта ошибка встречается, когда:
Ваше приложение включает тип сборки, который не зависит от библиотеки
android {
buildTypes {
release {
...
}
dexOptions {
...
// release & debug is in project animators
matchingFallbacks = ['release', 'debug']
}
debug {
...
}
}
}
Установка подходящих резервных конфигураций - это верный способ решить эту проблему.
Ответ 3
Убедитесь, что вы находитесь в своем проекте
- Откройте "Настройки", нажав Файл > Настройки (на Mac,
Android Studio > Предпочтения).
- На левой панели нажмите Сборка, выполнение, развертывание → Gradle.
- Снимите флажок отключить/
Offline work
.
- Нажмите Применить или ОК.
Ответ 4
Я потратил много времени на эту проблему, и ни одно из вышеперечисленных решений не помогло мне. Имена и количество типов сборки также были одинаковыми как в приложении, так и в проекте библиотеки.
Единственная ошибка, которую я сделал, была - В проекте библиотеки build.gradle я использовал строку
применить плагин: 'com.android.application'
Хотя эта строка должна быть -
применить плагин: 'com.android.library'
После внесения этого изменения эта ошибка была устранена.
Ответ 5
Изменить все
compile project(':library:yourproject')
в
implementation project(path: ':library:yourproject', configuration:'default')
в вашем приложении build.gradle. Обратите внимание на строку с конфигурацией.
Ответ 6
Я перепробовал все, от снятия отметки с офлайн-работы до соответствующих откатов. Но ничего не сработало.
Затем в зависимостях app.gradle,
вместо
проект внедрения (': lib-name')
Я использовал,
проект реализации (путь: ': lib-name', конфигурация: 'default')
Например: implementation project(path:':myService', configuration: 'default')
И это сработало как шарм. :)
Я добавил модуль зависимости со службой и не делаю библиотеку частью проекта AOSP.
На всякий случай, это кому-то помогает.
Ответ 7
Решение:
Загрузите окончательную версию Gradle
http://services.gradle.org/distributions/
gradle-4.x-rc-1-all.zip.sha256 09-Jan-2018 01:15 +0000 64.00B
Распакуйте дистрибутив
Перейдите в Android Studio → Файл → Настройки → Gradle → Использовать локальное распространение Gradle. Найдите файл и нажмите ОК.
В gradle: app напишите это, реализация (путь: ': animators', конфигурация: 'default')
dependencies {
.
.
.
implementation project(path: ':animators', configuration: 'default')
}
Ответ 8
Вот как я решил свою проблему:
вместо
compile project(':library_name')
compile project(':library_name')
в приложении Gradle я использовал
implementation project(':library_name')
implementation project(':library_name')
И в моих типах сборки, например
demoTest {
.........
}
Я добавил эту строку
demoTest {
matchingFallbacks = ['debug', 'release']
}
Ответ 9
Моя проблема ниже
Unable to resolve dependency for ':[email protected]/compileClasspath': Could not download rxjava.jar (io.reactivex.rxjava2:rxjava:2.2.2)
Решено проверкой Enable embedded Maven Repository
Ответ 10
У меня была такая же проблема, и я решил ее, добавив 'mavenCentral()' для сборки .gradle(Project)
allprojects {
repositories {
...
mavenCentral()
}
}
Ответ 11
Даже, я столкнулся с той же проблемой.
Я исправил проблему, обратившись к приведенному выше
Решение 2 с новым glele-4.1:
Я выполнил следующие изменения gradle.
Кажется, загрузка ресурсов через maven Amazon помогла мне решить проблему, есть проблемы с библиотекой appcompat. Проверьте и убедитесь, что поддерживаемые программой совместимые библиотеки поддержки загружены в вашу систему. Что я чувствую, это просто ресурсы, не загруженные через maven, что вызывает проблему с компиляцией. Убедитесь, что ресурсы найдены на вашем локальном диске, чтобы устранить проблему.
Просто играется с
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'
}
---------------------------------------------------------------------------
Ответ 12
Измените этот код в Gradle:
compile project(':yourLibrary')
в
implementation project(path: ': yourLibrary', configuration:'default')
Ответ 13
Я нашел два типа решений:
-
Решение со старым glele-3.3:
В качестве первого и временного решения для запуска проекта с Android 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
-
Решение с новым glele-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"
}
Ответ 14
вам просто нужно reset зависимости в файле 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'
Ответ 15
Убедитесь, что вы отключили "Автономную работу" в настройках Gradle (Setting-> Build, Execution, Deployment-> Build Tools-> Gradle).
Я сделал эту ошибку. Я следовал руководству по ускорению сборки gradle и включил опцию автономной работы. Если это включено, Gradle не сможет загружать какие-либо новые зависимости и, следовательно, приведет к ошибке "Невозможно разрешить зависимость".
Ответ 16
Я встретил те же проблемы и решил.
Из-за моей ситуации, я думаю, ваш файл build.gradle
для проекта приложения содержит фрагменты ниже:
android {
...
buildTypes {
debug {...}
release {...}
dexOptions {...}
}
}
но на самом деле dexOptions
не является типом сборки, вы должны переместить dexOptions
раздел buildTypes
, например:
android {
...
dexOptions {
...
}
buildTypes {
debug {...}
release {...}
}
}
Надеюсь, что это поможет кому-то.
Ответ 17
Добавление productFlavors {} в приложение build.gradle решило проблему для меня. См. Ниже:
buildTypes {
release {
...
}
}
productFlavors {
}
Ответ 18
Я думаю, что это от gradle-wrapper.properties
файла:
сделать URL-адрес распространения distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip
и не обновляйте до: distributionUrl=https\://services.gradle.org/distributions/gradle-4 ....
Ответ 19
Кажется, это ошибка на 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
Ответ 20
Я перепробовал все решения, приведенные выше, и ни одно из них не сработало для меня, я гарантировал, что у меня есть точные типы сборки и варианты продукта в моем модуле библиотеки и модуле приложения.
Ответ 21
Эта ветка, кажется, немного удивилась, однако, что касается исходного вопроса, вы не только должны иметь свои buildTypes в обоих файлах build.gradle, вы должны иметь ваши productFlavors (если вы, конечно, используете их) в обоих файлы build.gradle также.
Ответ 22
Это также может произойти, когда вы добавляете ссылку на функциональный модуль, который использует неправильный тип плагина. Просто измените com.android.application
на com.android.feature
или com.android.library
https://i.stack.imgur.com/NDjnG.png
Ответ 23
Я попытался запустить Android studio 3.0.1 с подключением к Интернету. Студия Android начала загружать что-то из ссылки автоматически, которая показывалась в уведомлении сборки Gradle. Я не могу сказать, что это верный ответ, но попробуйте это. Возможно, вы можете решить свою проблему.
Ответ 24
В моем случае проблема была из-за зависимости, которую я пытался импортировать (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" }
}
}
Надеюсь, это поможет кому-то так же, как и мне.
Ответ 25
Если вы используете Android Studio в Linux:
Перейдите: Home/Android Studio Projects folder/App name folder
откройте терминал на этой странице и введите:
./gradlew -Dhttp.proxyHost
проверьте, установлен ли JAVA_HOME
в допустимом каталоге, если не задано правильное местоположение, наконец пересоберите ваш проект.
ПРИМЕЧАНИЕ: если это не сработает, удалите папку кэша Gradle или все это и загрузите снова с Android Studio.
Ответ 26
У меня было 2 варианта в библиотеке, app gradle должен иметь такой же вкус
Ответ 27
Я сталкиваюсь с той же ошибкой, когда пытаюсь импортировать какой-либо проект с более низкой версией Gradle и случайно останавливаю установку Gradle. Я исправляю эту проблему, отключая автономный режим, и заканчивая установку более низкой версии Gradle.
Ответ 28
Добавьте библиотеку из File-> Вправо click-> Создать → Module-> Импортировать Eclipse ADT project->, просмотрите library-> Готово и добавьте в настройку gdle приложения следующий код:
implementation project(':library')
Наконец добавьте в настройку gradle следующий код:
include ':app', ':library'
Ответ 29
После обновления андроид студии до 3.3. Я столкнулся с этой проблемой, когда пытался загрузить Firebase JobDispatcher. Добавление этой ссылки на gradle.properties решило мою проблему
distributionUrl=https://services.gradle.org/distributions/gradle-4.1-all.zip
Ответ 30
Я знаю, что ни одно из вышеперечисленных решений не сработает, так как я долгое время оставался в проблеме такого рода, наконец-то решил эту проблему, внимательно осмотрев проблему, что указывает на то, что
Невозможно разрешить зависимость для ': app @dexOptions/compileClasspath': не удалось разрешить проект: имя_библиотеки.
Вы должны удостовериться и дважды проверить, проживает ли класс там. Я полагаю, что эта вещь окажется очень полезной для многих, потому что сосредоточенность на этом моменте значительно приблизила меня к решению. Теперь, если в этом пути к папке ничего нет, вам нужно получить весь материал, такой как папка сборки папки src и т.д., Скопируйте его и вставьте в него проект sync/rebuild, при необходимости попробуйте отключить и перезапустить Android Studio. Надеюсь, что это избавит вас от неприятностей, как в моем случае.
Спасибо