当我决定将android studio从3.0.1升级到3.1.2时,我正处于项目中间,从那以后,我在构建应用程序时遇到此错误。 我之前已经问过类似于这个的问题,但不同之处在于,它没有提供它有问题的库的版本。所以它显然是一个不同的问题。 这是截图
app level build.gradle:
android {
compileSdkVersion 27
defaultConfig {
applicationId "..."
minSdkVersion 18
targetSdkVersion 27
versionCode 16
versionName "1.1.1"
multiDexEnabled true
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true
}
}
ext {
lifecycleLibVersion = '1.1.1'
supportLibVersion = '27.1.1'
daggerLibVersion = '2.15'
gmsLibVersion = '11.8.0'
persistenceLibVersion = '1.0.0'
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation "android.arch.lifecycle:extensions:$lifecycleLibVersion"
implementation "android.arch.persistence.room:runtime:$persistenceLibVersion"
implementation "com.android.support:appcompat-v7:$supportLibVersion"
implementation "com.android.support:cardview-v7:$supportLibVersion"
implementation "com.android.support:design:$supportLibVersion"
implementation "com.android.support:recyclerview-v7:$supportLibVersion"
implementation "com.android.support:support-vector-drawable:$supportLibVersion"
implementation 'com.android.support:multidex:1.0.3'
implementation "com.google.android.gms:play-services-location:$gmsLibVersion"
implementation "com.google.android.gms:play-services-maps:$gmsLibVersion"
implementation "com.google.dagger:dagger-android-support:$daggerLibVersion"
implementation "com.google.firebase:firebase-core:$gmsLibVersion"
implementation 'com.github.bumptech.glide:glide:4.3.1'
implementation 'com.github.lawloretienne:discreteslider:0.0.9'
implementation 'com.jakewharton:butterknife:8.8.1'
implementation 'com.journeyapps:zxing-android-embedded:3.5.0'
implementation 'com.squareup.okhttp3:logging-interceptor:3.10.0'
implementation 'com.squareup.retrofit2:retrofit:2.4.0'
implementation 'com.squareup.retrofit2:converter-gson:2.4.0'
implementation 'com.github.PhilJay:MPAndroidChart:v3.0.3'
implementation "com.commonsware.cwac:saferoom:0.3.4"
annotationProcessor "android.arch.persistence.room:compiler:$persistenceLibVersion"
annotationProcessor 'com.github.bumptech.glide:compiler:4.3.1'
annotationProcessor "com.google.dagger:dagger-compiler:$daggerLibVersion"
annotationProcessor "com.google.dagger:dagger-android-processor:$daggerLibVersion"
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
}
项目级build.gradle:
buildscript {
repositories {
google()
jcenter()
maven { url 'https://maven.fabric.io/public' }
maven { url 'https://plugins.gradle.org/m2/' }
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.2'
classpath 'com.google.gms:google-services:3.2.0'
classpath 'io.fabric.tools:gradle:1.25.1'
classpath 'gradle.plugin.com.onesignal:onesignal-gradle-plugin:0.8.2'
}
}
allprojects {
repositories {
google()
jcenter()
maven { url 'https://maven.google.com' }
maven { url "https://jitpack.io" }
maven { url "https://s3.amazonaws.com/repo.commonsware.com" }
}
}
答案 0 :(得分:15)
经过几天的努力解决这个问题,我终于找到了办法。
解决方案是删除caches
中的~/.gradle
文件夹并再次下载依赖项。
答案 1 :(得分:10)
allprojects {
repositories {
mavenLocal()
google()
maven {
url 'https://maven.google.com'
}
jcenter()
}
}
我终于使用maven { url 'https://maven.google.com' }
上方的jcenter()
解决了这个问题。
https://github.com/rebeccahughes/react-native-device-info/issues/414
答案 2 :(得分:1)
Gradle构建日志解释了该问题:
> Could not find support-v4.aar (com.android.support:support-v4:26.1.0).
Searched in the following locations:
https://jcenter.bintray.com/com/android/support/support-v4/26.1.0/support-v4-26.1.0.aar
即使我在任何地方都没有明确支持support-v4,该库implementation 'com.android.support:percent:26.1.0'
才是真正的原因。
升级到compileSdkVersion 27
解决了该问题。
答案 3 :(得分:0)
您可以这样: 在 defaultConfig
中添加vectorDrawables.useSupportLibrary = true
如果错误仍然存在,则
allprojects {
repositories {
google() // make it first element
jcenter()
maven { url 'https://maven.google.com' }
}
}