为api设置Gradle 26(Android)
由于我已将Nexus 5x升级到Android O DP3,因此无法testing我的应用程序。 我得到错误,没有configuration我的Gradle文件与新的API级别(26)。
所以我改变了这一点,依赖关系,但我不断收到我的支持库的错误
Failed to resolve: com.android.support:design:26.0.0-beta2
点击
Install repository and sync project
popup一个进度对话框,用于下载正确的依赖关系,但不会删除错误。 清理项目,安装存储库,然后重build项目也将无法正常工作。
程序兼容性-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)
有人可以帮我把gradle文件正确configuration为Android API 26吗? 任何帮助,将不胜感激。
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' }
你有没有添加谷歌的Maven端点 ?
重要提示:支持库现在可以通过Google的Maven存储库获得。 您不需要从SDK Manager下载支持存储库。 有关更多信息,请参阅支持库设置 。
将端点添加到您的build.gradle文件中:
allprojects { repositories { jcenter() maven { url 'https://maven.google.com' } } }
自从Android Gradle v3以来,可以用快捷键google()
replace它:
allprojects { repositories { jcenter() google() } }
如果你在repositories
里已经有了maven的url,你可以在它们之后添加引用,例如:
allprojects { repositories { jcenter() maven { url 'https://jitpack.io' } maven { url 'https://maven.google.com' } } }
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'
似乎由Android Studio 3.0 Canary 4和Gradle 3.0.0-alpha4解决。
您可以将google()
添加到存储库块
allprojects { repositories { jcenter() maven { url 'https://github.com/uPhyca/stetho-realm/raw/master/maven-repo' } maven { url "https://jitpack.io" } google() } }
公寓从设置maven源URL到你的gradle,我会build议添加devise和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'
你必须添加你的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' } } }
更新11-14-2017:我提出的解决scheme在我发布后是有效的。 从那时起,各种更新(甚至就我所指的网站而言),我不知道现在是否有效。 一个月后,我根据上面的解决scheme做了我的工作,直到我升级到Android Studio 3.0.0