2016-11-13 1 views
1

그래서 앱을 만들고 있습니다. 그리고 그것은 나에게 다음과 같은 두 가지 오류가 있습니다 :19 api에서 실행하면 오류 res/drawable 파일이 누락됩니다.

11-13 18:47:52.863 9717-9717/com.teamlukas.motivationapp E/VdcInflateDelegate﹕ Exception while inflating <vector> 
org.xmlpull.v1.XmlPullParserException: Binary XML file line #17<vector> tag requires viewportWidth > 0 
     at android.support.graphics.drawable.VectorDrawableCompat.updateStateFromTypedArray(VectorDrawableCompat.java:717) 
     at android.support.graphics.drawable.VectorDrawableCompat.inflate(VectorDrawableCompat.java:654) 
     at android.support.graphics.drawable.VectorDrawableCompat.createFromXmlInner(VectorDrawableCompat.java:617) 
     at android.support.v7.widget.AppCompatDrawableManager$VdcInflateDelegate.createFromXmlInner(AppCompatDrawableManager.java:745) 
     at android.support.v7.widget.AppCompatDrawableManager.loadDrawableFromDelegates(AppCompatDrawableManager.java:365) 
     at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:195) 
     at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:188) 
     at android.support.v7.widget.AppCompatDrawableManager.checkVectorDrawableSetup(AppCompatDrawableManager.java:723) 
     at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:193) 
     at android.support.v7.widget.TintTypedArray.getDrawableIfKnown(TintTypedArray.java:81) 
     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:53) 
     at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:205) 
     at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:185) 
     at android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:525) 
     at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:74) 
     at com.teamlukas.motivationapp.MainActivity.onCreate(MainActivity.java:15) 
     at android.app.Activity.performCreate(Activity.java:5275) 
     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2166) 
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2252) 
     at android.app.ActivityThread.access$800(ActivityThread.java:139) 
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1200) 
     at android.os.Handler.dispatchMessage(Handler.java:102) 
     at android.os.Looper.loop(Looper.java:136) 
     at android.app.ActivityThread.main(ActivityThread.java:5103) 
     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:790) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:606) 
     at dalvik.system.NativeStart.main(Native Method) 
11-13 18:47:52.863 9717-9717/com.teamlukas.motivationapp D/AndroidRuntime﹕ Shutting down VM 
11-13 18:47:52.863 9717-9717/com.teamlukas.motivationapp W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0x41d10e48) 
11-13 18:47:52.863 9717-9717/com.teamlukas.motivationapp E/AndroidRuntime﹕ FATAL EXCEPTION: main 
    Process: com.teamlukas.motivationapp, PID: 9717 
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.teamlukas.motivationapp/com.teamlukas.motivationapp.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:2202) 
      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2252) 
      at android.app.ActivityThread.access$800(ActivityThread.java:139) 
      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1200) 
      at android.os.Handler.dispatchMessage(Handler.java:102) 
      at android.os.Looper.loop(Looper.java:136) 
      at android.app.ActivityThread.main(ActivityThread.java:5103) 
      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:790) 
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:606) 
      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:2136) 
      at android.content.res.Resources.getDrawable(Resources.java:715) 
      at android.support.v4.content.ContextCompat.getDrawable(ContextCompat.java:374) 
      at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:200) 
      at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:188) 
      at android.support.v7.widget.AppCompatDrawableManager.checkVectorDrawableSetup(AppCompatDrawableManager.java:723) 
      at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:193) 
      at android.support.v7.widget.TintTypedArray.getDrawableIfKnown(TintTypedArray.java:81) 
      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:53) 
      at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:205) 
      at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:185) 
      at android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:525) 
      at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:74) 
      at com.teamlukas.motivationapp.MainActivity.onCreate(MainActivity.java:15) 
      at android.app.Activity.performCreate(Activity.java:5275) 
      at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 
      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2166) 
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2252) 
            at android.app.ActivityThread.access$800(ActivityThread.java:139) 
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1200) 
            at android.os.Handler.dispatchMessage(Handler.java:102) 
            at android.os.Looper.loop(Looper.java:136) 
            at android.app.ActivityThread.main(ActivityThread.java:5103) 
            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:790) 
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:606) 
            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:2132) 
            at android.content.res.Resources.getDrawable(Resources.java:715) 
            at android.support.v4.content.ContextCompat.getDrawable(ContextCompat.java:374) 
            at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:200) 
            at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:188) 
            at android.support.v7.widget.AppCompatDrawableManager.checkVectorDrawableSetup(AppCompatDrawableManager.java:723) 
            at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:193) 
            at android.support.v7.widget.TintTypedArray.getDrawableIfKnown(TintTypedArray.java:81) 
            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:53) 
            at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:205) 
            at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:185) 
            at android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:525) 
            at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:74) 
            at com.teamlukas.motivationapp.MainActivity.onCreate(MainActivity.java:15) 
            at android.app.Activity.performCreate(Activity.java:5275) 
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2166) 
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2252) 
            at android.app.ActivityThread.access$800(ActivityThread.java:139) 
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1200) 
            at android.os.Handler.dispatchMessage(Handler.java:102) 
            at android.os.Looper.loop(Looper.java:136) 
            at android.app.ActivityThread.main(ActivityThread.java:5103) 
            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:790) 
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:606) 
            at dalvik.system.NativeStart.main(Native Method) 

그것은 API를 23에서 작동을하지만 API 19 때, 그것은 나에게이 충돌을 제공합니다. 오류를 수정하기위한 아이디어가 있습니까? 나는이 오류를 직면 한 적이 없기 때문에 무엇을해야할지 모른다. 그런데, MainActivity 코드 :

public class MainActivity extends AppCompatActivity { 

@Override 
protected void onCreate(final Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    Button button = (Button) findViewById(R.id.button); 
    button.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Intent intent = new Intent(getApplicationContext(), Quote.class); 
      startActivity(intent); 
     } 
    }); 
    Button settings = (Button) findViewById(R.id.button3); 
    settings.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Intent setting = new Intent(getApplicationContext(), Settings.class); 
      startActivity(setting); 
     } 
    }); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.menu_main, menu); 
    return true; 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle action bar item clicks here. The action bar will 
    // automatically handle clicks on the Home/Up button, so long 
    // as you specify a parent activity in AndroidManifest.xml. 
    int id = item.getItemId(); 

    //noinspection SimplifiableIfStatement 
    if (id == R.id.action_settings) { 
     return true; 
    } 

    return super.onOptionsItemSelected(item); 
} 

}

Gradle을 응용 모듈 :

apply plugin: 'com.android.application' 

안드로이드 { compileSdkVersion 23 buildToolsVersion "23.0.1"

defaultConfig { 
    vectorDrawables.useSupportLibrary = true 
    applicationId "com.teamlukas.motivationapp" 
    minSdkVersion 14 
    targetSdkVersion 23 
    versionCode 1 
    versionName "1.0" 
} 
buildTypes { 
    release { 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    } 
} 

}

+0

추가나요'vectorDrawables에 대해 알아보기 .useSupportLibrary = true'앱 모듈의 build.gradle에 있습니까? –

+0

나는 그것을했는데, 어떻게 든 vectorDrawables를 찾을 수 없다. –

+0

이 메시지와 관련이 없지만 예외에 포함 된 오류 메시지에 "tag requires viewportWidth> 0"이라고 표시되면 죄송합니다. 문제의 '벡터'태그가이 요구 사항을 충족합니까? – clownba0t

답변

0

이 해결하는 큰 문제가되지 않을해야, 다음을 수행하십시오 사용 가능한 API 도구.

방법 2 : 1 Gradle을를 사용하는 경우

: 벡터가

static 
{ 
    AppCompatDelegate.setCompatVectorFromResourcesEnabled(true); 
} 

방법에게 다음과 같은 정적 코드 3를 추가 사용하는 활동 내부

.5 다음 방법을 사용

defaultConfig { 
     generatedDensities = [] 
    } 

    // This is handled for you by the 2.0+ Gradle Plugin 
    aaptOptions { 
     additionalParameters "--no-version-vectors" 
    } 

방법 4 :

대상 prelollipop 장치가 이미지 뷰에서 직접 선택기를 사용하는 경우이 방법을 사용

을 사용하게 될 Gradle을 버전에도 불구하고 작동합니다

1) app:srcCompat="@drawable/my_vector_drawable"

2) 이것은 선택자를위한 코드입니다 : 이름이 : selector_my_vector_drawable

<?xml version="1.0" encoding="utf-8"?> 
    <selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:drawable="@drawable/my_vector_drawable" /> 
    </selector> 

3) 텍스트 뷰의 선택 을 통과 :

<TextView 
     android:gravity="center_vertical" 
     android:drawableLeft="@drawable/selector_my_vector_drawable" 
     android:drawableStart="@drawable/selector_my_vector_drawable" 
     android:drawableRight="@drawable/selector_my_vector_drawable" 
     android:drawableEnd="@drawable/selector_my_vector_drawable" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/This will work" /> 

방법 5 :

여기 벡터 Vectors

0

귀하의 최소 sdk는 무엇입니까? 그 시간에 min sdk 20을 언급하면 ​​충돌이 발생합니다. ping 당신의 min sdk에 gradle 파일.

방법 1 : XXXX와 교체 Gradle을

compile 'com.android.support:design:x.x.x.x' 

에 디자인 :

가 안드로이드를 추가

+0

Min sdk 14. 곧 주말에 보조 파일이 추가됩니다. –

+0

API 19 KitKat입니다. usb 케이블을 통해 앱을 디버깅하거나 휴대 전화로 빌드 파일을 복사하고 있습니까? 장치를 시스템에 연결하고 디버그 해보십시오. KitKat OS에서만이 문제가 발생합니다. –

관련 문제