为api 26设置Gradle(Android)

时间:2017-06-12 13:02:10

标签: android gradle build.gradle android-support-library android-8.0-oreo

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

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

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

点击

Install repository and sync project

弹出progressdialog以下载正确的依赖项,但不会删除错误。清理项目,安装存储库,然后重建项目也不会有效。

程序兼容性-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'
}

6 个答案:

答案 0 :(得分:130)

您是否添加了google maven endpoint

  

重要提示:支持库现在可通过Google的Maven存储库获取。您无需从SDK Manager下载支持存储库。有关更多信息,请参阅Support Library Setup

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

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

自Android Gradle v3以来,可以使用快捷方式google()替换

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

如果您在repositories内已有任何maven网址,则可以在其后添加引用,即:

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

答案 1 :(得分:13)

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'

答案 2 :(得分: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'

答案 3 :(得分:7)

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

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

        }
        maven {
            url "https://jitpack.io"
        }
        google()
    }
}

答案 4 :(得分:6)

似乎可以通过Android Studio 3.0 Canary 4和Gradle 3.0.0-alpha4解决。

答案 5 :(得分:5)

您必须使用以下内容添加 MODULE-LEVEL build.gradle文件:

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

    }
}

请参阅:Google's Maven repository

我观察到当我使用Android Studio 2.3.3时,必须添加存储库{maven {url' https://maven.google.com'}} MODULE-LEVEL build.gradle中。 对于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'
    }
  }
}

更新11-14-2017:我提出的解决方案在我发帖时有效。从那以后,有各种更新(即使我参考的网站),我不知道现在是否有效。有一个月我根据上面的解决方案完成了我的工作,直到我升级到Android Studio 3.0.0