错误:无法解析:support-vector-drawable

时间:2018-06-18 15:21:31

标签: android android-studio android-gradle jcenter

我的gradle有问题。它工作得很好,但突然间,当我重建项目时,它给了我这个错误:

  

错误:无法解决:support-vector-drawable

我无法找出问题所在?

我的app.gradle

buildscript {
    repositories {
        maven { url 'https://plugins.gradle.org/m2/' }
    }
    dependencies {
        classpath 'gradle.plugin.com.onesignal:onesignal-gradle-plugin:0.8.1'
    }
}

apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'

repositories {
    maven { url 'https://maven.google.com' }
}

apply plugin: 'com.android.application'
apply plugin: 'io.fabric'

android {
    compileSdkVersion 26
    buildToolsVersion '26.0.2'
    defaultConfig {
    applicationId "com.arizeh.arizeh"
    minSdkVersion 17
    targetSdkVersion 22
    multiDexEnabled true
    versionCode 29
    versionName "3.0.5"
    useLibrary 'org.apache.http.legacy'
    testInstrumentationRunner 
    buildTypes {
        release {
           minifyEnabled false
           proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility 1.8
        targetCompatibility 1.8
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:26+'
    testCompile 'junit:junit:4.12'
    compile 'com.google.android.gms:play-services-maps:15.0.1'
    compile 'com.google.android.gms:play-services-places:15.0.1'
    compile 'com.google.android.gms:play-services-location:15.0.1'
    compile 'com.google.android.gms:play-services-gcm:15.0.1'
    compile 'com.google.android.gms:play-services-base:15.0.1'
    compile 'com.google.firebase:firebase-messaging:15.0.2'

    compile 'com.android.support:design:26.1.0'
    compile 'com.android.support:cardview-v7:26.1.0'
    compile 'uk.co.chrisjenx:calligraphy:2.1.0'
    compile 'com.google.code.gson:gson:2.8.0'
    compile 'com.koushikdutta.ion:ion:2.+'
    compile 'com.android.support:percent:26.1.0'
    compile 'com.squareup.picasso:picasso:2.5.2'
    compile 'com.shawnlin:number-picker:2.4.2'
    compile 'com.astuetz:pagerslidingtabstrip:1.0.1'
    compile 'com.android.support:multidex:1.0.2'
    compile 'com.android.support:support-compat:26.1.0'
    compile 'com.daimajia.easing:library:2.0@aar'
    compile 'com.daimajia.androidanimations:library:2.2@aar'

    compile 'com.zarinpal:purchase:0.0.3-beta'

    compile 'com.squareup.retrofit2:retrofit:2.3.0'
    compile 'com.squareup.retrofit2:converter-gson:2.3.0'
} 

9 个答案:

答案 0 :(得分:34)

就我而言,我已将Google存储库移至 build.gradle 配置的顶部:

allprojects {
  repositories {
      google() // now here
      mavenLocal()
      jcenter()
      maven {
          // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
        url "$rootDir/../node_modules/react-native/android"
      }
      // google() // was here
  }
}

答案 1 :(得分:15)

在defaultConfig中添加vectorDrawables.useSupportLibrary = true

defaultConfig {
    vectorDrawables.useSupportLibrary = true
}

如果错误仍然存​​在,那么

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

答案 2 :(得分:8)

我刚遇到其他一些错误:

Failed to resolve: support-vector-drawable
Failed to resolve: livedata-core
Failed to resolve: common
Failed to resolve: runtime
Failed to resolve: viewmodel
Failed to resolve: monitor

我没有使用React Native,但是在there上找到了答案:

android/build.gradle中,将jcenter()移至底部:

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

答案 3 :(得分:4)

我有同样的问题。 通过提高v7支持库的版本来解决此问题:

implementation 'com.android.support:appcompat-v7:28.0.0'

答案 4 :(得分:2)

  • 我已经尝试了足够多的问题,并且得到了与屏幕截图相同的问题,并最终获得了成功。

enter image description here

我的代码就是这样。

enter image description here

因此,经过足够的搜索后,我通过在gradle文件中添加maven来解决了这个问题。

enter image description here

然后解决了。.

答案 5 :(得分:1)

您应该将此添加到build.gradle(module:app)

implementation 'com.android.support:support-vector-drawable:28.0.0'

答案 6 :(得分:1)

我有同样的问题。您必须将build.gradle更改为

 // Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        google()
        jcenter()
        mavenCentral()

    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.4.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

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

    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

答案 7 :(得分:1)

我在androidx项目上遇到此错误,并通过以下方式解决了该问题:

1-在Build.gradle(模块文件)中,android {}部分添加:

   vectorDrawables.useSupportLibrary = true

2-在依赖项{}部分,

更改:

 implementation 'androidx.vectordrawable:vectordrawable:1.0.1'

 implementation 'androidx.vectordrawable:vectordrawable:1.1.0-beta02'

再次编译。

答案 8 :(得分:0)

我尝试了很多,但只有这种装饰才能帮助我同步Gradle, 希望这对你有帮助

 repositories {
        mavenLocal()
        google()
        jcenter()

    }

并实际上将这一行添加到应用程序模块的defaultConfig中:

vectorDrawables.useSupportLibrary = true