Android:添加新的buildType - 无法找到项目的匹配配置

时间:2018-06-07 09:49:06

标签: android android-gradle

Android Studio 3.1,Gradle 4.4

我的项目层次结构

-app
-common
build.gradle

common是我项目的android lib。 结果是 settings.gradle

include ':app', ':common'

这是我的 app / build.gradle

    buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
                configBuildType(delegate, RELEASE_APP_NAME, null, RELEASE_API_BASE_URL)
                signingConfig signingConfigs.release
            }
            debug {
                configBuildType(delegate, DEBUG_APP_NAME, DEBUG_APP_ID_SUFFIX, DEBUG_API_BASE_URL)
            }
        }

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

    implementation project(':common')   
}

我的项目成功建立并运行。好的。

现在我要添加新的 buildType =" debugTest"

所以我的 app / build.gradle

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            configBuildType(delegate, RELEASE_APP_NAME, null, RELEASE_API_BASE_URL)
            signingConfig signingConfigs.release
        }
        debug {
            configBuildType(delegate, DEBUG_APP_NAME, DEBUG_APP_ID_SUFFIX, DEBUG_API_BASE_URL)
        }
        debugTest {

        }
}

但是现在我在构建项目时遇到错误:

gradlew clean build

此处出现错误消息:

WARNING: The option 'android.enableD8' is deprecated and should not be used anymore.
Use 'android.enableD8=true' to remove this warning.
It will be removed in AGP version 3.3.

FAILURE: Build failed with an exception.

* What went wrong:
Could not determine the dependencies of task ':app:lintVitalDebugTest'.
> Could not resolve all task dependencies for configuration ':app:debugTestRuntimeClasspath'.
   > 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 'debugTest' and found incompatible value 'debug'.
              - Found com.android.build.api.attributes.VariantAttr 'debug' but wasn't required.
              - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and found compatible value 'Aar'.
              - Required org.gradle.usage 'java-runtime' and found incompatible value 'java-api'.
          - Configuration 'debugRuntimeElements':
              - Required com.android.build.api.attributes.BuildTypeAttr 'debugTest' and found incompatible value 'debug'.
              - Found com.android.build.api.attributes.VariantAttr 'debug' but wasn't required.
              - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and found compatible value 'Aar'.
              - Required org.gradle.usage 'java-runtime' and found compatible value 'java-runtime'.
          - Configuration 'releaseApiElements':
              - Required com.android.build.api.attributes.BuildTypeAttr 'debugTest' and found incompatible value 'release'.
              - Found com.android.build.api.attributes.VariantAttr 'release' but wasn't required.
              - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and found compatible value 'Aar'.
              - Required org.gradle.usage 'java-runtime' and found incompatible value 'java-api'.
          - Configuration 'releaseRuntimeElements':
              - Required com.android.build.api.attributes.BuildTypeAttr 'debugTest' and found incompatible value 'release'.
              - Found com.android.build.api.attributes.VariantAttr 'release' but wasn't required.
              - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and found compatible value 'Aar'.
              - Required org.gradle.usage 'java-runtime' and found compatible value 'java-runtime'.

1 个答案:

答案 0 :(得分:0)

在名为“ common”的项目中,在build.gradle中,添加刚添加到主项目中的构建类型定义。像这样:

android {
    buildTypes {
        release {}
        debug {}
        debugTest {}
    }
}