2016-11-13 24 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); 
} 

}

搖籃應用模塊:

apply plugin: 'com.android.application' 

的Android { 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' 
    } 
} 

}

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.android.support:appcompat-v7:25.0.0' 
    compile 'com.squareup.picasso:picasso:2.5.2' 
    compile 'com.android.support:support-v4:25.0.0' 
} 
+0

你加'vectorDrawables .useSupportLibrary = true'在你的build.gradle中的應用程序模塊? –

+0

我做了,它無法找到vectorDrawables。 –

+0

道歉,如果這是不相關的,但包含異常的錯誤消息說「標籤需要viewportWidth> 0」。問題中的「vector」標籤是否符合此要求? – clownba0t

回答

0

這不應該是一個大問題來解決,儘量做到以下幾點:

方法1:

添加了android:在設計的gradle

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

更換XXXX與你可用的api工具。

方法2:

使用矢量添加下面的靜態代碼

static 
{ 
    AppCompatDelegate.setCompatVectorFromResourcesEnabled(true); 
} 

方法3活動內部:

,如果你使用的gradle產出1。5使用以下方法

defaultConfig { 
     generatedDensities = [] 
    } 

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

方法4:

儘管你將使用

的gradle這個版本的這種方法將工作如果定位prelollipop設備直接從您的ImageView的使用選擇

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通選擇 :

<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那麼它會崩潰。用我的gradle文件把你的min sdk寫下來。

+0

Min sdk 14. Gradle文件將很快添加到主帖 –

+0

API 19是KitKat,您是通過USB線調試應用程序還是將構建文件複製到手機中。嘗試將您的設備連接到系統並進行調試。 KitKat操作系統只會出現這個問題。 –

相關問題