【问题标题】:Android Studio 3.0 dependency errorAndroid Studio 3.0 依赖错误
【发布时间】:2017-08-08 03:04:30
【问题描述】:

我正在使用现有项目试用 Android Studio 3.0 Canary 9,但在尝试同步构建文件时遇到此错误:

Error:Failed to resolve: commons-logging:commons-logging:1.1.1

我没有将 commons-logging 添加为依赖项,因此它必须由其他一些依赖项使用,但我不知道是什么。这是我对 3.0 进行更改的顶级构建文件的 buildscript 部分:

buildscript {
    repositories {
        jcenter {
            url "http://jcenter.bintray.com/"
        }
        maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.0-alpha9'
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
        classpath 'de.felixschulze.gradle:gradle-hockeyapp-plugin:3.5'
    }
}

gradle-wrapper.properties 我有这个:

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

我在项目构建文件中所做的唯一更改是重命名 APK 文件的方式。有谁知道如何追踪这种依赖关系以及如何解决它?

【问题讨论】:

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


【解决方案1】:

如果您使用 Android Gradle 2.2 或更高版本的插件,则应从 Gradle 插件中删除 com.neenbedankt.gradle.plugins:android-apt。 还将依赖项中的所有apt 更改为annotationProcessor

您可以阅读更多here

【讨论】:

  • 没有骰子,在进行更改并将compile 更改为implementation 后同样的问题。
【解决方案2】:

我不知道这是否会解决,但它可能有助于定位问题。

使用 AS 3.0 开始一个新的空项目,在每次添加之间进行测试时,一一添加 3 个依赖项。我怀疑其中一个不能很好地与 AS 3.0 配合使用,并且它与您的代码无关,因为您没有进行任何更改。

您可以尝试的另一件事是回到旧版本的 AS 并重新检查它是否运行。这会将问题隔离到 AS 3.0,而不是您的代码或依赖项。

最后,如果没有任何效果,请使用新的包名创建一个全新的项目,然后手动将所有内容复制粘贴到新项目中。我通常会发现很多这样做的错误。

【讨论】:

  • 它适用于 AS 2.3。我想到了一个新项目,但是 1. 我的项目文件中有超过 3 个依赖项,以及 2. 一旦发现问题,我会怎么做?
  • 感谢您的更新!找到个别问题后,您可以更快地搜索答案,因为您可以使用特定名称进行精确搜索。
【解决方案3】:

我按照moonpire00 的建议创建了一个新项目。我发现问题出在 AWS 导入上:

implementation 'com.amazonaws:aws-android-sdk-core:2.2.0'
implementation 'com.amazonaws:aws-android-sdk-ses:2.2.0'

我把它们改成了这样:

implementation 'com.amazonaws:aws-android-sdk-core:2.2.0', {
        exclude module: 'commons-logging'
    }
    implementation 'com.amazonaws:aws-android-sdk-ses:2.2.0', {
        exclude module: 'commons-logging'
    }

现在 gradle 同步工作了!如果有人了解为什么 Android Studio / gradle 3.0 会出现此错误,请发表评论。

【讨论】:

  • 太棒了!很高兴它帮助了你。我不是依赖专家,但新项目的东西通常可以解决我的依赖问题哈哈
【解决方案4】:

它的工作原理

apply plugin: 'com.android.application'

android {
    compileSdkVersion 26
    buildToolsVersion '26.0.2'
    defaultConfig {
        applicationId "com.keshav.mraverification"
        minSdkVersion 15
        targetSdkVersion 26
        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'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })

    compile 'com.android.support:appcompat-v7:26.0.1'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    compile 'com.android.support:cardview-v7:26.0.1'
    compile 'com.android.support:design:26.0.1'


    testCompile 'junit:junit:4.12'
}

allprojects {
    repositories {
        jcenter()
        maven {
            url "https://maven.google.com"
        }
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-14
    • 1970-01-01
    • 1970-01-01
    • 2017-11-07
    • 1970-01-01
    • 2021-10-04
    • 1970-01-01
    相关资源
    最近更新 更多