2015-12-29 5 views
13

मैं NDK समर्थन उपयोग कर रहा हूँ और यह त्रुटि मिलती:XmlPullParserException: अवैध drawable टैग वेक्टर

Gradle:

वितरण: gradle-2.5-all

उपकरण बिल्ड: gradle-experimental:0.2.1

एक्सएमएल:

<vector android:height="24dp" android:viewportHeight="125.0" 
android:viewportWidth="100.0" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> 
<path android:fillColor="#FF000000" android:pathData="M97.01,-2.98,-3C47.02,95.35"/> 
</vector> 

चेतावनी:

vector requires API level 21 (current min is 13) or building with Android Gradle plugin 1.4 or higher

अपवाद:

FATAL EXCEPTION: main 
android.content.res.Resources$NotFoundException: File res/drawable/accelerometer.xml from drawable resource ID #0x7f020045 
at android.content.res.Resources.loadDrawable(Resources.java:2842) 
at android.content.res.Resources.getDrawable(Resources.java:1521) 

... 
Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #1: invalid drawable tag vector 
at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:917) 
at android.graphics.drawable.Drawable.createFromXml(Drawable.java:858) 
+0

https://github.com/wnafee/vector-compat/issues/15 –

+0

क्या आपने समस्या हल की है? – bendaf

+1

@ बेंडफ हां। कृपया स्वीकृत उत्तर की जांच करें। –

उत्तर

17

पूर्व लॉलीपॉप उपकरणों आप VectorDrawableCompat उपयोग करने के लिए संसाधनों से अपने वेक्टर प्राप्त करने की आवश्यकता पर।

someVectorDrawable = VectorDrawableCompat.create(context.getResources(), R.drawable.[some res id], null); 

फिर आप अपनी छवि दृश्य की पृष्ठभूमि सेट कर सकते हैं।

+0

मुझे बटन पर drawableLeft का उपयोग करते समय api 19 के लिए buildToolsVersion "25.0.3" के साथ यह त्रुटि मिल रही है। यह कामकाज ही एकमात्र दृष्टिकोण है जो मेरे लिए काम करता है। – Aleris

+0

यह मेरा दिन बचाया! एकमात्र कामकाज मैंने बिल्ड टूल्स 26.0.0 के साथ प्रयास किया है और मुझे एक ही समस्या मिली है। – AndroidRuntimeException

+0

मेनू आइटम के लिए xml के माध्यम से शामिल होने पर इसे हल करने का कोई विचार ('android: icon = @ drawable/icon_name')? –

2

मुझे इसके लिए एक दिलचस्प कामकाज मिला। यदि आप पृष्ठभूमि को एक ड्रॉइंग फ़ाइल में सेट करते हैं जिसमें XML ड्रॉबल योग्य होता है तो अपवाद/क्रैश दूर हो जाता है। यह सिर्फ पूर्व लॉलीपॉप के लिए काम नहीं कर रहा

<selector 
    xmlns:android="http://schemas.android.com/apk/res/android"> 
<item 
    android:drawable="@drawable/your_image_here.xml" /> 
</selector> 

और पृष्ठभूमि के रूप में इस drawable फ़ाइल का नाम डाल दिया ...

0

,:

ताकि निम्नलिखित है एक drawable फ़ाइल बनाने इसे अपनी गतिविधि

static { 
    AppCompatDelegate.setCompatVectorFromResourcesEnabled(true); 
} 
संबंधित मुद्दे