AndroidStudio 3.0: ошибка: невозможно разрешить зависимость для ': app@dev/compileClasspath': не удалось разрешить проект: общий

Android Studio 3.0

У меня есть 3 типа сборки: "выпуск" и "разработка".

проект/build.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {

    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.0'
    }
}

allprojects {
    repositories {
        google()
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

settings.gradle

include ':app', ':common'

приложение/build.gradle

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:26.1.0'
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    implementation 'com.android.support:design:26.1.0'

     kapt "com.github.bumptech.glide:compiler:$GLIDE_VERSION"
    kapt "com.jakewharton:butterknife-compiler:$BUTTER_KNIFE_VERSION"

    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.1'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'

    compile project(':common')
}

Но когда я пытаюсь построить, я получаю следующую ошибку:

Unable to resolve dependency for ':app@dev/compileClasspath': Could not resolve project :common.

Could not resolve project :common.
Required by:
    project :app
 > Unable to find a matching configuration of project :common:
     - Configuration 'debugApiElements':
         - Required com.android.build.api.attributes.BuildTypeAttr 'dev' and found incompatible value 'debug'.
         - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and found compatible value 'Aar'.

P.S. В Android Studio 2.3.3 мой проект успешно строится и запускается


person a_subscriber    schedule 31.10.2017    source источник


Ответы (2)


Похоже на ошибку в процессе сборки Gradle, попробуйте изменить:

 android {
  buildTypes {
      release {
          ...
      }
      dexOptions {
          ...
        // release & debug is in project animators
      }
      dev {
        matchingFallbacks = ["debug"]
      }
    }
}

dependencies {
'implementation project(':common')
}
person Nawrez    schedule 31.10.2017
comment
Не помогает: ошибка: невозможно разрешить зависимость для ':app@dev/compileClasspath': не удалось преобразовать файл 'common-release.aar' для соответствия атрибутам {artifactType=android-exploded-aar} с помощью преобразования ExtractAarTransform ‹a href=openFile :/app/build.gradle›Открыть файл‹/a›‹br›‹a href=Невозможно разрешить зависимость для ‘:app@dev/compileClasspath’: не удалось преобразовать файл ‘common-release.aar’ для соответствия атрибутам { ArtifactType=android-exploded-aar} с использованием преобразования ExtractAarTransform›Показать подробности‹/a› - person a_subscriber; 01.11.2017
comment
Не помогает: ошибка: невозможно разрешить зависимость для ':app@dev/compileClasspath': не удалось разрешить проект: common. ‹a href=openFile:app/build.gradle›Открыть файл‹/a›‹br›‹a href=Невозможно разрешить зависимость для ':app@dev/compileClasspath': Не удалось разрешить проект: common.›Показать подробности‹ /а› - person a_subscriber; 01.11.2017
comment
Может быть, это потому, что у меня нет buildType=debug? У меня есть 2 buildType=relase и buildType=dev - person a_subscriber; 01.11.2017
comment
Не помогает: :app:javaPreCompileDev :app:compileDevJavaWithJavac\dev\Myproject\app\src\main\java\com\myproject\android\customer\api\model\CatalogAdapteJsonDeserilizer.java:9: ошибка: пакет com.myproject.android .customer.common.util не существует import com.myproject.android.customer.common.util.GsonUtil; - person a_subscriber; 01.11.2017
comment
Я изучаю решение: можете ли вы попробовать последнее? - person Nawrez; 01.11.2017
comment
Не помогает: ошибка: невозможно разрешить зависимость для ':app@dev/compileClasspath': не удалось разрешить проект: common. ‹a href=openFile:dev/myproject/app/build.gradle›Открыть файл‹/a›‹br›‹a href=Невозможно разрешить зависимость для ':app@dev/compileClasspath': Не удалось разрешить проект: common. ›Показать детали‹/a› - person a_subscriber; 01.11.2017
comment
Давайте продолжим обсуждение в чате. - person Nawrez; 01.11.2017
comment
Я нашел решение. В buildType=dev я должен добавить следующее: 'matchingFallbacks = [debug]'. В зависимостях я должен добавить: «проект реализации (': общий')' - person a_subscriber; 01.11.2017
comment
последний не помог? - person Nawrez; 01.11.2017
comment
Я снова отредактировал его: это правильный ответ? - person Nawrez; 01.11.2017
comment
Да, сейчас поможет. Спасибо. - person a_subscriber; 01.11.2017

эта проблема может быть вызвана отсутствием совпадения buildTypes между файлами модуля build.gradle

app build.gradle

android {
    ...

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        debug {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        dev {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

общий build.gradle [неверно]

android {
    ...

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }

    // miss debug and dev config block (the reason of this problem)

    }
}

общий build.gradle [правильно]

android {
    ...

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        debug {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        dev {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}
person abner    schedule 19.07.2019