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

*爱你&永不变心* 提交于 2019-12-23 05:17:33

问题


Android Studio 3.0

I have 3 build types: "release" and "dev"

project/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'

app/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')
}

But when I try to build I get the next error:

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. On Android Studio 2.3.3 my project success build and run


回答1:


Seems like a bug in the Gradle build process, try to change:

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

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



回答2:


this problem maybe cause by miss match buildTypes between module build.gradle files

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'
        }
    }
}

common build.gradle [incorrect]

android {
    ...

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

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

    }
}

common build.gradle [correct]

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'
        }
    }
}


来源:https://stackoverflow.com/questions/47043632/androidstudio-3-0-errorunable-to-resolve-dependency-for-appdev-compileclass

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!