"无法解决:support-v4"升级android studio

时间:2018-05-05 10:34:51

标签: java android android-studio gradle android-support-library

当我决定将android studio从3.0.1升级到3.1.2时,我正处于项目中间,从那以后,我在构建应用程序时遇到此错误。 我之前已经问过类似于这个的问题,但不同之处在于,它没有提供它有问题的库的版本。所以它显然是一个不同的问题。 这是截图

Screenshot

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

4 个答案:

答案 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' }
    }
  }