簡體   English   中英

應用程序停止使用appcompat.v7中的矢量可繪制對象

[英]Application Stopped working with vector Drawables in appcompat.v7

我無法在Real Device(APi 19)上運行我的Activity,當我使用public class MainActivity extends Activity卻沒問題,但使用public class MainActivity extends AppCompatActivity卻沒問題...

主要活動:

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

我的gardge.build:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 24
    buildToolsVersion "22.0.0"
    defaultConfig {
        applicationId "com.example.myapplication2"
        minSdkVersion 15
        targetSdkVersion 24
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:support-v4:24.2.1'
    compile 'com.android.support:appcompat-v7:24.2.1'
    testCompile 'junit:junit:4.12'
}

調試-控制台:

E/AndroidRuntime: FATAL EXCEPTION: main
                  Process: de.cleefchat.myapplication2, PID: 9774
                  java.lang.RuntimeException: Unable to start activity ComponentInfo{de.cleefchat.myapplication2/de.cleefchat.myapplication2.MainActivity}: android.content.res.Resources$NotFoundException: File res/drawable/abc_vector_test.xml from drawable resource ID #0x7f020052
                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2377)
                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2429)
                      at android.app.ActivityThread.access$800(ActivityThread.java:151)
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1342)
                      at android.os.Handler.dispatchMessage(Handler.java:110)
                      at android.os.Looper.loop(Looper.java:193)
                      at android.app.ActivityThread.main(ActivityThread.java:5333)
                      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:829)
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:645)
                      at dalvik.system.NativeStart.main(Native Method)
                   Caused by: android.content.res.Resources$NotFoundException: File res/drawable/abc_vector_test.xml from drawable resource ID #0x7f020052
                      at android.content.res.Resources.loadDrawable(Resources.java:2170)
                      at android.content.res.Resources.getDrawable(Resources.java:710)
                      at android.support.v4.content.ContextCompat.getDrawable(ContextCompat.java:346)
                      at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:197)
                      at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:185)
                      at android.support.v7.widget.AppCompatDrawableManager.checkVectorDrawableSetup(AppCompatDrawableManager.java:720)
                      at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:190)
                      at android.support.v7.widget.TintTypedArray.getDrawableIfKnown(TintTypedArray.java:77)
                      at android.support.v7.app.AppCompatDelegateImplBase.<init>(AppCompatDelegateImplBase.java:127)
                      at android.support.v7.app.AppCompatDelegateImplV9.<init>(AppCompatDelegateImplV9.java:147)
                      at android.support.v7.app.AppCompatDelegateImplV11.<init>(AppCompatDelegateImplV11.java:27)
                      at android.support.v7.app.AppCompatDelegateImplV14.<init>(AppCompatDelegateImplV14.java:50)
                      at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:201)
                      at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:181)
                      at android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:521)
                      at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:71)
                      at de.cleefchat.myapplication2.MainActivity.onCreate(MainActivity.java:10)
                      at android.app.Activity.performCreate(Activity.java:5343)
                      at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1088)
                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2331)
                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2429) 
                      at android.app.ActivityThread.access$800(ActivityThread.java:151) 
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1342) 
                      at android.os.Handler.dispatchMessage(Handler.java:110) 
                      at android.os.Looper.loop(Looper.java:193) 
                      at android.app.ActivityThread.main(ActivityThread.java:5333) 
                      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:829) 
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:645) 
                      at dalvik.system.NativeStart.main(Native Method) 
                   Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #17: invalid drawable tag vector
                      at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:933)
                      at android.graphics.drawable.Drawable.createFromXml(Drawable.java:877)
                      at android.content.res.Resources.loadDrawable(Resources.java:2166)
                      at android.content.res.Resources.getDrawable(Resources.java:710) 
                      at android.support.v4.content.ContextCompat.getDrawable(ContextCompat.java:346) 
                      at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:197) 
                      at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:185) 
                      at android.support.v7.widget.AppCompatDrawableManager.checkVectorDrawableSetup(AppCompatDrawableManager.java:720) 
                      at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:190) 
                      at android.support.v7.widget.TintTypedArray.getDrawableIfKnown(TintTypedArray.java:77) 
                      at android.support.v7.app.AppCompatDelegateImplBase.<init>(AppCompatDelegateImplBase.java:127) 
                      at android.support.v7.app.AppCompatDelegateImplV9.<init>(AppCompatDelegateImplV9.java:147) 
                      at android.support.v7.app.AppCompatDelegateImplV11.<init>(AppCompatDelegateImplV11.java:27) 
                      at android.support.v7.app.AppCompatDelegateImplV14.<init>(AppCompatDelegateImplV14.java:50) 
                      at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:201) 
                      at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:181) 
                      at android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:521) 
                      at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:71) 
                      at de.cleefchat.myapplication2.MainActivity.onCreate(MainActivity.java:10) 
                      at android.app.Activity.performCreate(Activity.java:5343) 
                      at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1088) 
                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2331) 
                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2429) 
                      at android.app.ActivityThread.access$800(ActivityThread.java:151) 
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1342) 
                      at android.os.Handler.dispatchMessage(Handler.java:110) 
                      at android.os.Looper.loop(Looper.java:193) 
                      at android.app.ActivityThread.main(ActivityThread.java:5333) 
                      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:829) 
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:645) 
                      at dalvik.system.NativeStart.main(Native Method) 

將此添加到您的build.gradle

 android {  
   defaultConfig {  
     vectorDrawables.useSupportLibrary = true  
    }  
 } 

對於庫矢量繪制對象支持見

或者,您也可以將buildToolsVersion更新為。

buildToolsVersion "24.0.1"

只需更新您的buildToolsVersion ...

buildToolsVersion "24.0.1"

我的建議是始終將構建gradle工具升級到最新版本。

在這種情況下,最低需要BuildToolVersion "24.0.1"

有時Gradle會導致這種情況。 嘗試根據其版本編輯gradle:

Gradle插件2.0+

 android {  
   defaultConfig {  
     vectorDrawables.useSupportLibrary = true  
    }  
 }

Gradle插件1.5

 android {  
   defaultConfig {  
     // Stops the Gradle plugin's automatic rasterization of vectors
     generatedDensities = []  
  }  
  // This is handled for you by the 2.0+ Gradle Plugin  
  aaptOptions {  
    additionalParameters "--no-version-vectors"  
  }  
 } 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM