Nabi
Nabi

Reputation: 774

Application Stopped working with vector Drawables in appcompat.v7

I can't run my Activity on Real Device (APi 19) It's ok when i Use public class MainActivity extends Activity but with public class MainActivity extends AppCompatActivity It doesn't go ...

MainActivity:

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);
    }
}

My 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'
}

Debug - Console:

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) 

Upvotes: 2

Views: 388

Answers (4)

koksalb
koksalb

Reputation: 431

Sometimes Gradle causes this. Try to edit your gradle according to its version:

Gradle Plugin 2.0+

 android {  
   defaultConfig {  
     vectorDrawables.useSupportLibrary = true  
    }  
 }

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

Upvotes: 1

KlevisGjN
KlevisGjN

Reputation: 691

My advice is to always upgrade your build gradle tool to latest version.

In this case minimum needed BuildToolVersion "24.0.1"

Upvotes: 1

Narendra Sorathiya
Narendra Sorathiya

Reputation: 3830

Just Update your buildToolsVersion...

buildToolsVersion "24.0.1"

Upvotes: 1

rafsanahmad007
rafsanahmad007

Reputation: 23881

Add this on your build.gradle

 android {  
   defaultConfig {  
     vectorDrawables.useSupportLibrary = true  
    }  
 } 

For Vector Drawable support in library see this

or you can also update your buildToolsVersion to..

buildToolsVersion "24.0.1"

Upvotes: 2

Related Questions