Android Studio 3.0 依赖错误

Android Studio 3.0 dependency error

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

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

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

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 文件的方式。有人知道如何追踪这种依赖关系以及如何修复它吗?

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

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

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

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

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

你可以阅读更多here

我听从了 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 会出现此错误,请 post 发表评论。

正常工作

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