59

由于我已将 Nexus 5x 升级到 Android O DP3,我无法测试我的应用程序。我收到错误,因为没有配置我的 Gradle 文件以使用新的 API 级别 (26)。

所以我改变了这个和依赖关系,但我的所有支持库都出现错误,比如

Failed to resolve: com.android.support:design:26.0.0-beta2

点击

Install repository and sync project

弹出一个进度对话框,用于下载正确的依赖项,但不会删除错误。清理项目、安装存储库然后重建项目也不起作用。

appcompat-v7

在 appcompat-v7:26.0.0-beta2 上,我得到(甚至在 Gradle 同步之前)很快就出现错误:

When using a compileSdkVersion older than android-O revision 2,
the support library version must be 26.0.0-alpha1 or lower (was 26.0.0-beta2)

有人可以帮我为 Android API 26 正确配置 gradle 文件吗?任何帮助,将不胜感激。

PS:我目前正在使用 Gradle 3.0.0-alpha3 但在 Gradle 2.3.2 上遇到相同的错误

我的 Gradle 文件:

apply plugin: 'com.android.application'

android {
compileSdkVersion 26
buildToolsVersion '26.0.0'

defaultConfig {
    applicationId "********"
    minSdkVersion 21
    targetSdkVersion 26
    versionCode 3
    versionName "2.0"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
}

dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:26.0.0-beta2'
compile 'com.android.support:design:26.0.0-beta2'
compile 'com.github.bumptech.glide:glide:3.7.0'
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'com.android.support:cardview-v7:26.0.0-beta2'
compile 'com.android.support:recyclerview-v7:26.0.0-beta2'
compile 'com.redbooth:WelcomeCoordinator:1.0.1'
compile 'com.github.kittinunf.fuel:fuel-android:1.4.0'
compile 'com.pkmmte.view:circularimageview:1.1'
compile 'com.ramotion.foldingcell:folding-cell:1.1.0'
}
4

6 回答 6

131

您是否添加了google maven 端点

重要提示:支持库现在可通过 Google 的 Maven 存储库获得。您无需从 SDK 管理器下载支持存储库。有关详细信息,请参阅支持库设置

将端点添加到您的build.gradle文件中:

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

可以用google()Android Gradle v3 以来的快捷方式替换:

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

如果您已经有任何 maven url repositories,您可以在它们之后添加引用,即:

allprojects {
    repositories {
        jcenter()
        maven {
            url 'https://jitpack.io'
        }
        maven {
            url 'https://maven.google.com'
        }
    }
}
于 2017-06-12T15:48:40.183 回答
14
allprojects {
    repositories {
        jcenter()
        maven {
            url "https://maven.google.com"
        }
    }
}

android {
    compileSdkVersion 26
    buildToolsVersion "26.0.1"
    defaultConfig {
        applicationId "com.keshav.retroft2arrayinsidearrayexamplekeshav"
        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'
        }
    }
}
 compile 'com.android.support:appcompat-v7:26.0.1'
    compile 'com.android.support:recyclerview-v7:26.0.1'
    compile 'com.android.support:cardview-v7:26.0.1'
于 2017-08-25T04:53:31.590 回答
8

除了将 maven 源 URL 设置为您的 gradle 之外,我建议同时添加设计库和 appcompat 库。目前最新版本为 26.1.0

maven {
    url "https://maven.google.com"
}

...

compile 'com.android.support:appcompat-v7:26.1.0'
compile 'com.android.support:design:26.1.0'
于 2017-09-17T16:11:10.710 回答
7

您可以添加google()到存储库块

allprojects {
    repositories {
        jcenter()
        maven {
            url 'https://github.com/uPhyca/stetho-realm/raw/master/maven-repo'

        }
        maven {
            url "https://jitpack.io"
        }
        google()
    }
}
于 2017-07-01T17:00:29.890 回答
6

似乎由 Android Studio 3.0 Canary 4 和 Gradle 3.0.0-alpha4 解决。

于 2017-06-16T19:02:14.303 回答
5

您必须在MODULE-LEVEL build.gradle 文件中添加:

//module-level build.gradle file
repositories {
    maven {
        url 'https://maven.google.com'

    }
}

请参阅:Google 的 Maven 存储库

我观察到,当我使用 Android Studio 2.3.3 时,我必须MODULE-LEVEL build.gradle中添加存储库{maven{url ' https://maven.google.com '}} 。在 Android Studio 3.0.0 的情况下,不需要在模块级 build.gradle 中添加。项目级build.gradle 中的添加就足够了,这里的其他帖子中已经提到过,即:

//project-level build.gradle file
allprojects {
 repositories {
    jcenter()
    maven {
        url 'https://maven.google.com/'
        name 'Google'
    }
  }
}

2017 年 11 月 14 日更新:我提出的解决方案在我发帖时是有效的。从那时起,已经有各种更新(甚至关于我所指的网站),我不知道现在是否有效。一个月我根据上面的解决方案做了我的工作,直到我升级到 Android Studio 3.0.0

于 2017-09-28T11:13:11.570 回答