AndroidStudio 3.0:错误:无法解析':app @ dev / compileClasspath'的依赖关系:无法解析项目:common

时间:2017-10-31 20:00:22

标签: android android-studio android-gradle android-studio-3.0

Android Studio 3.0

我有3种构建类型: “发布”和“ dev

项目/的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上,我的项目成功构建并运行

2 个答案:

答案 0 :(得分:3)

看起来像Gradle构建过程中的错误,尝试更改:

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

dependencies {
'implementation project(':common')
}

答案 1 :(得分:1)

此问题可能是由于模块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'
        }
    }
}