首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误“无法解决项目”时,包括一个依赖项目从另一个Android构建与Gradle

错误“无法解决项目”时,包括一个依赖项目从另一个Android构建与Gradle
EN

Stack Overflow用户
提问于 2019-04-17 21:18:08
回答 1查看 1.9K关注 0票数 1

我似乎无法让Gradle认识到Android项目的依赖性。我已经成功地将其简化为最低限度的,而且我仍然会得到错误。

如何在另一个项目中包含一个简单的库依赖项?

这是文件夹的结构非常简单:

代码语言:javascript
复制
 - build.gradle
 - settings.gradle
 + myproject
   - build.gradle
 + mylibrary
   - build.gradle

错误为“无法解决项目”/“无法找到项目的匹配变体”。

代码语言:javascript
复制
command: gradle build

FAILURE: Build failed with an exception.

* What went wrong:
Could not determine the dependencies of task ':mylibrary:preReleaseBuild'.
> Could not resolve all task dependencies for configuration ':mylibrary:releaseRuntimeClasspath'.
> Could not resolve project :mylibrary.
    Required by:
        project :mylibrary
    > Unable to find a matching variant of project :mylibrary:
        - Variant 'debugApiElements' capability gradle-test2:mylibrary:unspecified:
            - Required com.android.build.api.attributes.BuildTypeAttr 'release' 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 incompatible value 'Apk'.
            - Required org.gradle.usage 'java-runtime' and found incompatible value 'java-api'.
        - Variant 'debugBundleElements' capability gradle-test2:mylibrary:unspecified:
            - Required com.android.build.api.attributes.BuildTypeAttr 'release' but no value provided.
            - Found com.android.build.api.attributes.VariantAttr 'debug' but wasn't required.
            - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but no value provided.
            - Required org.gradle.usage 'java-runtime' and found incompatible value 'android-bundle'.
        - Variant 'debugMetadataElements' capability gradle-test2:mylibrary:unspecified:
            - Required com.android.build.api.attributes.BuildTypeAttr 'release' 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 incompatible value 'Metadata'.
            - Required org.gradle.usage 'java-runtime' but no value provided.
        - Variant 'debugRuntimeElements' capability gradle-test2:mylibrary:unspecified:
            - Required com.android.build.api.attributes.BuildTypeAttr 'release' 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 incompatible value 'Apk'.
            - Required org.gradle.usage 'java-runtime' and found compatible value 'java-runtime'.
        - Variant 'releaseApiElements' capability gradle-test2:mylibrary:unspecified:
            - Required com.android.build.api.attributes.BuildTypeAttr 'release' and found compatible 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 incompatible value 'Apk'.
            - Required org.gradle.usage 'java-runtime' and found incompatible value 'java-api'.
        - Variant 'releaseBundleElements' capability gradle-test2:mylibrary:unspecified:
            - Required com.android.build.api.attributes.BuildTypeAttr 'release' but no value provided.
            - Found com.android.build.api.attributes.VariantAttr 'release' but wasn't required.
            - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' but no value provided.
            - Required org.gradle.usage 'java-runtime' and found incompatible value 'android-bundle'.
        - Variant 'releaseMetadataElements' capability gradle-test2:mylibrary:unspecified:
            - Required com.android.build.api.attributes.BuildTypeAttr 'release' and found compatible 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 incompatible value 'Metadata'.
            - Required org.gradle.usage 'java-runtime' but no value provided.
        - Variant 'releaseRuntimeElements' capability gradle-test2:mylibrary:unspecified:
            - Required com.android.build.api.attributes.BuildTypeAttr 'release' and found compatible 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 incompatible value 'Apk'.
            - Required org.gradle.usage 'java-runtime' and found compatible value 'java-runtime'.

我的文件内容如下:

./build.gradle

代码语言:javascript
复制
buildscript {
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.3.2'
    }
}

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

ext {
    compileSdkVersion = 28
    buildToolsVersion = '28.0.3'
    supportLibVersion = '28.0.0'
    applicationId = 'com.example'
    minSdkVersion = 16
    targetSdkVersion = 26
    versionCode = 1
    versionName = '1.0'
}

./设置.分级

代码语言:javascript
复制
include ':myproject', ':mylibrary'

/我的项目/build.gradle

代码语言:javascript
复制
apply plugin: 'android'

repositories {
    mavenCentral()
}

dependencies {
    implementation project(':mylibrary')
}

android {

    compileSdkVersion rootProject.ext.compileSdkVersion
    buildToolsVersion rootProject.ext.buildToolsVersion

    defaultConfig {
        applicationId rootProject.ext.applicationId
        minSdkVersion rootProject.ext.minSdkVersion
        targetSdkVersion rootProject.ext.targetSdkVersion
        versionCode rootProject.ext.versionCode
        versionName rootProject.ext.versionName
    }

    buildTypes {
        release {}
        debug {}
    }
}

./我的图书馆/build.gradle

代码语言:javascript
复制
apply plugin: 'android'

repositories {
    mavenCentral()
}

dependencies {
}

android {

    compileSdkVersion rootProject.ext.compileSdkVersion
    buildToolsVersion rootProject.ext.buildToolsVersion

    defaultConfig {
        applicationId rootProject.ext.applicationId + ".mylibrary"
        minSdkVersion rootProject.ext.minSdkVersion
        targetSdkVersion rootProject.ext.targetSdkVersion
        versionCode rootProject.ext.versionCode
        versionName rootProject.ext.versionName
    }

    buildTypes {
        release {}
        debug {}
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-17 21:30:32

对于Android库,应用插件应该是com.android.library而不是android,尝试替换您的

代码语言:javascript
复制
apply plugin: 'android'

在您的图书馆的build.gradle

代码语言:javascript
复制
apply plugin: 'com.android.library
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55736110

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档