Android工作室在升级到支持库24.2.1后抛出可绘制标签向量错误



我升级了android studio的版本,现在我使用的是2.1.3版本,我相信这是当前的版本。com.android。支持:appcompat-v7也已升级到24.2.0。

一切都很好,除了导航返回箭头,它一直给出一个错误,这是错误

  08-22 18:04:59.470 11403-11403/com.app.oues E/AndroidRuntime: FATAL EXCEPTION: main
                                                                Process: com.app.oues, PID: 11403
                                                                java.lang.RuntimeException: Unable to start activity ComponentInfo{com.app.oues/com.app.oues.Registration}: android.content.res.Resources$NotFoundException: File res/drawable/abc_ic_ab_back_material.xml from drawable resource ID #0x7f020014
                                                                    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
                                                                    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
                                                                    at android.app.ActivityThread.access$800(ActivityThread.java:135)
                                                                    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
                                                                    at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                    at android.os.Looper.loop(Looper.java:136)
                                                                    at android.app.ActivityThread.main(ActivityThread.java:5017)
                                                                    at java.lang.reflect.Method.invokeNative(Native Method)
                                                                    at java.lang.reflect.Method.invoke(Method.java:515)
                                                                    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
                                                                    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
                                                                    at dalvik.system.NativeStart.main(Native Method)
                                                                 Caused by: android.content.res.Resources$NotFoundException: File res/drawable/abc_ic_ab_back_material.xml from drawable resource ID #0x7f020014
                                                                    at android.content.res.Resources.loadDrawable(Resources.java:2101)
                                                                    at android.content.res.Resources.getDrawable(Resources.java:700)
                                                                    at android.support.v4.content.ContextCompat.getDrawable(ContextCompat.java:346)

这个代码调用工具栏上的箭头

 final Drawable upArrow = ContextCompat.getDrawable(getApplicationContext(), R.drawable.abc_ic_ab_back_material);
    getSupportActionBar().setHomeAsUpIndicator(upArrow);

这是我的成绩

 android {
compileSdkVersion 24
buildToolsVersion "24.0.1"
defaultConfig {
    applicationId "com.app.oues"
    minSdkVersion 9
    targetSdkVersion 24
    versionCode 2
    versionName "1.0.1"
    vectorDrawables.useSupportLibrary = true
}
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:24.2.0'
compile 'com.android.support:design:24.2.0' }

阅读后,我将vectorDrawables.useSupportLibrary = true添加到gradle,但它不起作用,错误不断弹出。如果有人能帮忙我会很感激。由于

我在使用第24版的appCompat库时也遇到了问题。在我的堆栈跟踪中,低于NotFoundException,我有一个XmlPullParserException,其原因是"无效的可绘制标签向量"。虽然要确保你的矢量可绘制XML文件只是在你的"可绘制"源文件夹。此外,我刚刚使用了(已弃用的)getResources(). getdrawable()调用,似乎可以工作。我也试过你的"ContextCompat"调用,但它没有改变任何东西。我的电话是:

syncButton.setImageDrawable(getResources().getDrawable(R.drawable.ic_sync_timer_day));

这似乎只影响API 19设备(未在此以下测试)。它适用于API 22、23和24设备(未测试20或21)。

我的解决办法是回滚到'com.android.support:appcompat-v7:23.2.1'(以及其他相关的v23内容)。现在在模拟器中对API 19、22、23和24进行了测试。

花了一些时间来弄清楚如何支持所有的口味,但这似乎是可行的。

我的应用Gradle。构建文件看起来像下面,虽然我可能有一些东西在那里,实际上并不需要,因为我正在尝试从多个帖子的一切(犯了一个错误,改变不止一件事,我害怕)。

apply plugin: 'com.android.application'
android {
    signingConfigs {
        config {
            keyAlias 'RaceTac'
            keyPassword 'clover99'
            storeFile file('C:/Users/Dave/Documents/Dev/AndroidKeyStore.jks')
            storePassword 'clover99'
        }
    }
    compileSdkVersion 23
    buildToolsVersion "23.0.2"
    defaultConfig {
        applicationId "com.hubbardsoftware.racetac"
        minSdkVersion 16
        targetSdkVersion 23
        versionCode 14
        versionName '1.05'
        multiDexEnabled true
        vectorDrawables.useSupportLibrary = true
        generatedDensities = []
    }
    // Needed for backward compatibility with Vector graphics
    aaptOptions {
        additionalParameters "--no-version-vectors"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.config
        }
    }
    productFlavors {
    }
}
dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'
    // compile 'com.android.support:appcompat-v7:24.2.1'
    compile 'com.android.support:appcompat-v7:23.2.1'
    compile 'com.android.support:design:23.2.1'
    compile 'com.google.android.gms:play-services:9.4.0'
    compile 'com.android.support:support-v4:23.2.1'
    compile 'com.google.android.gms:play-services-ads:9.4.0'
    compile 'com.google.android.gms:play-services-auth:9.4.0'
    compile 'com.google.android.gms:play-services-gcm:9.4.0'
    compile 'com.android.support:multidex:1.0.1'
}

不确定这是一个直接的答案,但v24似乎有一些问题。

最新更新