模块包含:不打算供其他组件使用 - gradle:3.0.0-alpha2

Module inclusion: not intended for consumption by other components - gradle:3.0.0-alpha2

升级为:

我有一个多模块项目(主应用程序 + 子模块)

包含在主应用程序中:

dependencies {
    implementation project(path: ':testlib', configuration: 'default')
}

testlib 被定义为一个简单的 android 库项目,当包含在 gradle 2.3.0 中并通过编译项目(path: ':testlib')

时可以正常工作

我收到以下 gradle 错误消息:

无法解析配置“:app:devDebug_signedCompileClasspath”的所有依赖项。 在 'project :testlib' 上选择的配置 'default' 但它不能用作项目依赖项,因为 它不适用于其他组件。

不打算供其他组件使用”在此上下文中是什么意思?该模块定义为 android 库。

这里是测试库的build.gradle:

buildscript {
    repositories {
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.0-alpha2'
    }
}

apply plugin: 'com.android.library'


android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"


    defaultConfig {
        minSdkVersion 16
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

    }

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

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
}

我错过了什么?

我也遇到了这个错误。 Android Studio 3.0 Canary 4 刚刚发布。我更新了它,它也将 gradle 更新为 4.0rc1.

问题自行解决。

更改您的顶级构建文件(又名根gradle)

classpath 'com.android.tools.build:gradle:3.0.0-alpha4'

还是不行?

更新 dist-url(在 gradle-wrapper.properties 内)

distributionUrl=https\://services.gradle.org/distributions/gradle-4.0-rc-1-all.zip