23.2.0 কারণে অ্যান্ড্রয়েড সমর্থন লাইব্রেরি আপডেট করুন কারণ ত্রুটি: XMLPullParserException বাইনারি এক্সএমএল ফাইল লাইন # 17 <ভেক্টর> ট্যাগটির জন্য ভিউপোর্টউইথ> 0 প্রয়োজন


87

আমি আমার সমর্থন লাইব্রেরি 23.2.0 অবধি আপডেট করার চেষ্টা করি এবং এই ত্রুটির মুখোমুখি হয়েছি:

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:535)
at android.support.graphics.drawable.VectorDrawableCompat.inflate(VectorDrawableCompat.java:472)
at android.support.graphics.drawable.VectorDrawableCompat.createFromXmlInner(VectorDrawableCompat.java:436)
at android.support.v7.widget.AppCompatDrawableManager$VdcInflateDelegate.createFromXmlInner(AppCompatDrawableManager.java:829)
at android.support.v7.widget.AppCompatDrawableManager.loadDrawableFromDelegates(AppCompatDrawableManager.java:303)
at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:178)
at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:173)
at android.support.v7.widget.TintTypedArray.getDrawable(TintTypedArray.java:60)
at android.support.v7.widget.Toolbar.<init>(Toolbar.java:254)
at android.support.v7.widget.Toolbar.<init>(Toolbar.java:196)
at java.lang.reflect.Constructor.constructNative(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
at android.view.LayoutInflater.createView(LayoutInflater.java:594)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:696)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:267)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:129)
at com.chotot.vn.v2.activities.MainActivity.onCreate(MainActivity.java:121)
at android.app.Activity.performCreate(Activity.java:5133)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
at android.app.ActivityThread.access$600(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5103)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)

এবং

FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.chotot.vn.dev/com.chotot.vn.v2.activities.MainActivity}: android.view.InflateException: Binary XML file line #13: Error inflating class android.support.v7.widget.Toolbar
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
at android.app.ActivityThread.access$600(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5103)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.view.InflateException: Binary XML file line #13: Error inflating class android.support.v7.widget.Toolbar
at android.view.LayoutInflater.createView(LayoutInflater.java:620)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:696)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:267)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:129)
at com.chotot.vn.v2.activities.MainActivity.onCreate(MainActivity.java:121)
at android.app.Activity.performCreate(Activity.java:5133)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
at android.app.ActivityThread.access$600(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5103)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.constructNative(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
at android.view.LayoutInflater.createView(LayoutInflater.java:594)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:696)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:267)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:129)
at com.chotot.vn.v2.activities.MainActivity.onCreate(MainActivity.java:121)
at android.app.Activity.performCreate(Activity.java:5133)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
at android.app.ActivityThread.access$600(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5103)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.content.res.Resources$NotFoundException: File res/drawable/abc_ic_ab_back_material.xml from drawable resource ID #0x7f020016
at android.content.res.Resources.loadDrawable(Resources.java:2091)
at android.content.res.Resources.getDrawable(Resources.java:695)
at android.support.v7.widget.TintResources.superGetDrawable(TintResources.java:48)
at android.support.v7.widget.AppCompatDrawableManager.onDrawableLoadedFromResources(AppCompatDrawableManager.java:374)
at android.support.v7.widget.TintResources.getDrawable(TintResources.java:44)
at android.support.v4.content.ContextCompat.getDrawable(ContextCompat.java:323)
at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:180)
at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:173)
at android.support.v7.widget.TintTypedArray.getDrawable(TintTypedArray.java:60)
at android.support.v7.widget.Toolbar.<init>(Toolbar.java:254)
at android.support.v7.widget.Toolbar.<init>(Toolbar.java:196)
at java.lang.reflect.Constructor.constructNative(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
at android.view.LayoutInflater.createView(LayoutInflater.java:594)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:696)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:267)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:129)
at com.chotot.vn.v2.activities.MainActivity.onCreate(MainActivity.java:121)
at android.app.Activity.performCreate(Activity.java:5133)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
at android.app.ActivityThread.access$600(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5103)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
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:897)
at android.graphics.drawable.Drawable.createFromXml(Drawable.java:837)
at android.content.res.Resources.loadDrawable(Resources.java:2087)
at android.content.res.Resources.getDrawable(Resources.java:695)
at android.support.v7.widget.TintResources.superGetDrawable(TintResources.java:48)
at android.support.v7.widget.AppCompatDrawableManager.onDrawableLoadedFromResources(AppCompatDrawableManager.java:374)
at android.support.v7.widget.TintResources.getDrawable(TintResources.java:44)
at android.support.v4.content.ContextCompat.getDrawable(ContextCompat.java:323)
at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:180)
at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:173)
at android.support.v7.widget.TintTypedArray.getDrawable(TintTypedArray.java:60)
at android.support.v7.widget.Toolbar.<init>(Toolbar.java:254)
at android.support.v7.widget.Toolbar.<init>(Toolbar.java:196)
at java.lang.reflect.Constructor.constructNative(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
at android.view.LayoutInflater.createView(LayoutInflater.java:594)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:696)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:267)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:129)
at com.chotot.vn.v2.activities.MainActivity.onCreate(MainActivity.java:121)
at android.app.Activity.performCreate(Activity.java:5133)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
at android.app.ActivityThread.access$600(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5103)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)

আমার activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <fragment
        android:id="@+id/f_actionbar"
        android:name="com.chotot.vn.fragments.ActionBarFragment"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

    <android.support.v7.widget.Toolbar
        android:id="@+id/main_tool_bar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:layout_alignParentTop="true"
        android:background="@color/action_bar_bg">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <include
                android:id="@+id/main_action_bar_layout"
                layout="@layout/layout_actionbar_custom_search"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                android:layout_gravity="top" />

            <LinearLayout
                android:id="@+id/main_action_bar_layout_content"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_below="@id/main_action_bar_layout"
                android:orientation="vertical" />
        </RelativeLayout>
    </android.support.v7.widget.Toolbar>

    <FrameLayout
        android:id="@+id/layout_content"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@id/main_tool_bar" />

</RelativeLayout>

আমি কীভাবে এটি ঠিক করতে পারি?



30
আমি একটি & ** & # $ পুরো হিসাবে অ্যান্ড্রয়েড বিকাশ ছেড়ে দিতে শুরু করছি! বিশ্বাস করা যায় না যে আমি পূর্বের সংস্করণে এবং এখন এটির মাধ্যমে প্রবর্তন করা বাগটি সংশোধন করার জন্য একটি নতুন ব্যক্তি একটি নতুন এসডিকে সংস্করণে আপগ্রেড করে একজন ব্যক্তি হিসাবে আমার জীবনটাকে অনেকটা নষ্ট করছি! আরআরজিজিজিএইচএইচএইচ!
নিওন ওয়ার্জ

4
আমি API v23.1.0 এ স্থির হয়েছি: পি
নিয়ন ওয়ারেজ

4
24.0.0কারও সম্পর্কে টিপস থাকলে একই সমস্যা থাকলে দয়া করে এটি ভাগ করুন, আমি সত্যই প্রতিটি জিনিস চেষ্টা করেছিলাম।
ওয়াভিয়ানিয়া

4
@ নিওন ওয়ার্জ ... আমি কয়েকবার এই ব্লকের চারপাশে এসেছি। এই উত্তরগুলি আমার জন্য কিছু করে না। আমি অবশ্যই ব্যথা অনুভব করা শুরু করি
জান জানস

উত্তর:


55

আপনার বিল্ডড্রেডল ফাইলটিতে এই কোডটি ব্যবহার করুন

    //for Gradle Plugin 2.0+  
 android {  
   defaultConfig {  
     vectorDrawables.useSupportLibrary = true  
    }  
 }

আপনি যদি গ্রেডেল 1.5 ব্যবহার করছেন তবে আপনি পরিবর্তে ব্যবহার করবেন

defaultConfig {
        generatedDensities = []
    }

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

আমি মনে করি তারা হয়ত এখানে অন্য lib.found এ ভেক্টর ড্র-সক্ষম কমপ্যাক্ট ব্যবহার করছে


7
@ মায় 3 এএম দুঃখিত, গ্রহনটির চেষ্টা করা হয়নি। আপনি কেন এটি ব্যবহার করছেন তা ভেবেচিন্তে গ্রহনটি পুরানো হয়ে গেছে।
আজিঙ্ক্যা

6
যা অবশেষে আমার সমস্যার সমাধান করেছিল তা হ'ল @ ওয়াংলিকের উত্তর, সেট করা: বিল্ডটুলস ভার্সন "23.0.2"।
সিড

4
<21 ডিভাইসে ভেক্টর ড্রয়াবল ব্যবহার করতে এক্সএমএলে অ্যাপ্লিকেশন: অ্যান্ড্রয়েডের পরিবর্তে এসসিআরকম্প্যাট ব্যবহার করুন:
টিমো

4
এই আমার জন্য কাজ করে না। আমার কনফিগারেশনটি নীচে রয়েছে: buildToolsVersion "23.0.2"; শ্রেণিপথ 'com.android.tools.build:gradle حقونو.0.0-beta6'; defaultConfig {vectorDrawables.useSupportLibrary = সত্য}
অ্যালেন ভর্ক

6
এই সমাধানটি আমার পক্ষে কাজ করে না। Could not find property 'vectorDrawables' on ProductFlavor_Decorated
মুলগার্ড

28

আপনি 23.4.0 এ আপগ্রেড করতে পারেন

dependencies {
    compile 'com.android.support:appcompat-v7:23.4.0'
    compile 'com.android.support:design:23.4.0'
}

এবং এই কার্যকারিতাটি ম্যানুয়ালি সক্ষম করতে একটি পতাকা ব্যবহার করুন:

static
{
    AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
}

ভেক্টর ব্যবহার করে এমন ক্রিয়াকলাপের ভিতরে।

সূত্র: ভেক্টরদের বয়স


কিছু বেস ক্রিয়াকলাপের মধ্যে স্থিতিকাল কলটি সমস্ত বিকাশকারীদের জন্য সমস্যার সমাধান করবে যা ভেক্টরড্রেবেবলস.উসসপোর্টলিবারি = সত্য সহ লড়াই করছে, সুতরাং এই উত্তরটির জন্য +1 করুন।
স্টোইচো আন্ড্রিভ

ওহ, ♫ এটি এক ধরণের যাদু ♫ আমি com.android.support:appcompat-v7:25.3.1অ্যাপ্লিকেশন 19 এ অ্যাপটি চালাচ্ছি vectorDrawables.useSupportLibrary = trueDef অবশেষে এই স্থিতিশীল বিবৃতি দিয়ে, আমি ভেক্টর ড্রইয়েবলের সাথে আইজিম রিসোর্স সেট করতে সক্ষম হয়েছি। দেখে মনে হচ্ছে অ্যান্ড্রয়েড এসডিকে আশ্চর্যজনক এবং imature উভয়ই।
জুনিয়র মেহে

26

দয়া করে অ্যাপকম্প্যাট গ্রেডেল ( compile "com.android.support:appcompat-v7:23.2.0") সরান এবং সমর্থন ডিজাইন ( compile 'com.android.support:design:23.1.1') এর সাথে প্রতিস্থাপন করুন এটি সমস্যার সমাধান করবে


এই পরিবর্তনগুলি কি ২৩.১.১ ডিফল্টকনফিগ D জেনারেটডেনসিটিস = [] be // এর সাথে সম্পন্ন করতে হবে এটি আপনার জন্য 2.0+ গ্রেডল প্লাগইন অ্যাপটিকেশনগুলি - অতিরিক্তপ্যারামিটারগুলি "- কোনও সংস্করণ-ভেক্টর" led
রবি

20
তবে আপনি যদি সর্বশেষ অ্যাপকম্প্যাক্ট লাইব্রেরিটি ব্যবহার করতে চান তবে ??
আজিঙ্ক্যা

23

প্রি-লোলিপপ ডিভাইসে ইমেজভিউ থেকে অন্য কোথাও ভেক্টরড্র্যাবেবল ব্যবহার করার জন্য আপনাকে নির্বাচক তৈরি করতে হবে

app:srcCompat="@drawable/your_vector_drawable"

নির্বাচক:

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

    <item android:drawable="@drawable/your_vector_drawable" />

</selector>

তারপরে আপনি এই নির্বাচককে পাস করতে পারেন, যেমন এক্সএমএলে টেক্সটভিউ অঙ্কনযোগ্য বাম / অঙ্কনযোগ্য রাইট

<TextView
        android:gravity="center_vertical"
        android:drawableLeft="@drawable/selector_your_vector_drawable"
        android:drawableStart="@drawable/selector_your_vector_drawable"
        android:drawableRight="@drawable/selector_your_vector_drawable"
        android:drawableEnd="@drawable/selector_your_vector_drawable"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/your_string" />

বিল্ড.gradle এর সংস্করণ নির্বিশেষে, এই সমাধানটি কাজ করবে
PsyGik

আমার কাছে ভেক্টরড্রেব্বেসস.উসসপোর্টলিবারি = অ্যাপ্লিকেশন বিল্ড্র্যাডলে সত্য এবং আমি সংকলনএসডিকি ভার্সন 25 এবং বিল্ডটুলস ভার্সন "25.0.0" এবং নির্ভরতা লাইব্রেরিগুলি 25.0.0 ব্যবহার করেছি তবে ব্যবহারে সহায়তা করেনি সহায়তার লাইব্রেরি, এটি সেরা সমাধান আপনাকে ধন্যবাদ @ এন 1 কে !!!
mr.boyfox

এই সমাধানটি সমর্থন লাইব্রেরি 25.00 এবং 24 এও ভেঙে যায় না, আমি অ্যান্ড্রয়েড 4.2.2 ট্যাবলেটটিতে পরীক্ষা করেছি (গুগল প্লে সমর্থন করে না) এবং এই সমাধানগুলি মোহন মতো কাজ করে!
mr.boyfox

এটি আজকের মতো [বিল্ডটুলস 25+] হিসাবে কাজ করে - android:drawableএক্সএমএল: এস রেফারেন্সিং ভেক্টর ড্রয়যোগ্যদের জন্য আর কিছুই কাজ করে না । এটি হয় এটি হয় বা ব্যাকগ্রাউন্ডটি অঙ্কনযোগ্য প্রোগ্রামক্রমে সেট করা। Wth!
পেরস নীল আমসান

22

ContextCompat.getDrawable এর পরিবর্তে কেবল AppCompatDrawableManager.get ()। GetDrawable ব্যবহার করুন ।

এটি 23 থেকে বেশি সংস্করণে কাজ করা উচিত +


4
আমি কাস্টম ভিউয়ের জন্য ভেক্টর ব্যবহার করার চেষ্টা করছি। এটি আমার পক্ষে কাজ করে। তবে কেবল AppCompatDrawableManager.get().getDrawable(getContext(), R.drawable.drawable_xyz);কোড দ্বারা সরাসরি কল করুন । এক্সএমএল দ্বারা ঘোষিত হলে এটি কীভাবে কাজ করে তা নিশ্চিত নয়।
রবার্ট

4
এই পরিবর্তন নিজেই আমার জন্য সমস্যাটি স্থির করে। ধন্যবাদ.
অ্যালবার্ট সি

4
এই স্থির মা সমস্যা। ধন্যবাদ বন্ধু !
রানা

4
এছাড়াও আপনি ব্যবহার করতে পারেন:AppCompatResources.getDrawable(getContext(), R.drawable.drawable_xyz);
ওয়ার্সেলো

19

ব্যবহার:

compileSdkVersion 24
buildToolsVersion '24.0.1'

আমি লাইনটি সরিয়ে না দেওয়া পর্যন্ত রান সময়ে ক্র্যাশ হয়েছি

  defaultConfig {
    vectorDrawables.useSupportLibrary = true
  }

আমার অ্যাপ্লিকেশন guild.gradle থেকে

এটি এসডিকে নতুন সংস্করণটিকে বিভ্রান্ত করে appears

আশা করি এটি অন্য কারও মাথা ব্যথা বাঁচায়


এটি আমার জন্য সহায়তা করে।
সের্গেই শুস্তিকভ

4
EctorDrawables.useSupportLibrary এ সরানো আমার 4.4.2 ডিভাইসে ক্র্যাশগুলি থামিয়েছে।
আকাপুলকো

বাহ এটা সত্যিই কাজ করে! তবে কেন সেখানে বিরক্তিকর লিঙ্ক ত্রুটি রয়েছে app:srcCompat To use VectorDrawableCompat, you need to set android.defaultConfig.vectorDrawable.useSupportLibrary = true.? এটা খুব বিভ্রান্তিকর!
হেন্দ্রডাব্লুডি

12

আমি প্রতিস্থাপন করে এই সমস্যাটি সমাধান করেছি

dependencies {

compile 'com.android.support:appcompat-v7:23.2.0'

compile 'com.android.support:design:23.2.0'
}

সঙ্গে

dependencies {
compile 'com.android.support:appcompat-v7:23.0.1'

compile 'com.android.support:design:23.0.1'
}

10

উপরের কয়েকটি সমাধানের মিশ্রণ আমার পক্ষে কাজ করেছিল। আমি যা করেছি তা এখানে -

মধ্যে 1.5.0 থেকে 1.3.0 থেকে gradle সংস্করণ পরিবর্তন করুন build.gradleএর প্রকল্প ভালো

classpath 'com.android.tools.build:gradle:1.5.0'

অনেক কিছু নীচে অবস্থিত Update build.gradleএর অ্যাপ্লিকেশন

buildToolsVersion "23.0.2"

23.2.0 থেকে 23.4.0 পর্যন্ত মডিউল নির্ভরতা আপডেট করেছে:

compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.android.support:design:23.4.0'
compile 'com.android.support:support-vector-drawable:23.4.0'
compile 'com.android.support:animated-vector-drawable:23.4.0'

এখন আপনি যে গ্রেড সংস্করণটি ব্যবহার করছেন তার উপর নির্ভর করে নিম্নলিখিত দুটি স্নিপেট ব্যবহার করুন। যেহেতু আমি গ্রেড 1.5.0 ব্যবহার করছি, তাই আমি এটি ব্যবহার করেছি -

defaultConfig {
            generatedDensities = []
            }

    aaptOptions {
        additionalParameters "--no-version-vectors"
        }

আপনি যদি গ্রেডল ২.১.০ ব্যবহার করছেন তবে এর পরিবর্তে এটি ব্যবহার করুন

       defaultConfig {  
         vectorDrawables.useSupportLibrary = true  
         }

এবং তারপর আপনি যেতে ভাল। আমি এটি এক্সএমএল পাশাপাশি প্রোগ্রামগতভাবে উভয়ই পরীক্ষা করেছি। এক্সএমএল ফাইলে আমি এটি আমার ইমেজভিউতে ব্যবহার করেছি -

app:srcCompat="@drawable/anim_droid"
// where droid_anim is an animated-vector file containing set of animations to animate different paths of the SVG file

এবং প্রোগ্রামক্রমে এটি করার জন্য, আমি এটি ব্যবহার করেছি -

    imageView.setImageResource(R.drawable.anim_droid);
    Drawable drawable = imageView.getDrawable();
    if (drawable instanceof Animatable) {
      ((Animatable) drawable).start();
    }

আশা করি এটা সাহায্য করবে! চিয়ার্স :)


9

একই সমস্যা ছিল। আমার জন্য বিল্ড টুলস সংস্করণটিকে আপগ্রেড করা আসলে সহায়তা করেছে:

buildToolsVersion "23.0.2"

9

23.2.0 এ আপডেট করার সময় এপিআই 19 এ ক্র্যাশ সমস্যার মুখোমুখি হন। আমি এই সমস্যাটি 23.2.1 সংস্করণে আপডেট করে সমাধান করেছি ((এই প্রশ্নের উত্তর দেওয়ার সময় সর্বশেষতম সংস্করণ latest

compile 'com.android.support:appcompat-v7:23.2.1'
compile 'com.android.support:support:23.2.1'.

4
কেন আপনি সম্পূর্ণ সংকলন প্রয়োজন 'com.android.support:support:23.2.1'?
ইগোরগানাপলস্কি 21

এই মুহুর্তের সর্বশেষতমটি 'কম.অ্যান্ড্রয়েড.সপোর্ট: সাপোর্ট-v4:23.3.0' সংকলন 'com.android.support:appcompat-v7:23.3.0' সংকলন 'com.android.support:design:23.3.3.0 সংকলন করুন '
আলেকজান্ডার

7

আপনি সর্বশেষ ব্যবহার করেছেন তা নিশ্চিত করুন buildToolsVersion (প্রয়োজনে এসডিকে পরিচালক থেকে ডাউনলোড করুন)।

নমুনা গ্রেডল:

android {
    compileSdkVersion 24
    buildToolsVersion "24.0.0"
    defaultConfig {
        ...
        vectorDrawables.useSupportLibrary = true
    }
    dependencies {
        ...
        compile 'com.android.support:appcompat-v7:24.0.0'
        ...
    }
}

4
বিল্ডটুলস সংস্করণ "24.0.0" আমার দিনটি সংরক্ষণ করুন :)
নুলপয়েন্টার

কে এসডিকে 24 সংকলন করার জন্য আপডেট করার চেষ্টা করছে তার সঠিক উত্তর, তবে এখনও 4.x ডিভাইসে ত্রুটি পাচ্ছিল।
ফিলোবোটো

4

গ্রেডলে (গ্রেডেল: ২.১.০):

defaultConfig {
    vectorDrawables.useSupportLibrary = true
}

বিন্যাসে:

<ImageView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:srcCompat="@drawable/you_vector_drawable"/>

3

আমার এই সমস্যাটি ছিল, তবে সংস্করণগুলি আপডেট করে: গ্রেড:

classpath 'com.android.tools.build:gradle:1.5.0'

এবং:

buildToolsVersion "23.0.2"

সাফল্য!



2

আমি আমার অ্যাপটির একটি নতুন সংস্করণ তৈরি করার সময় এই ঠিক একই সমস্যাটি দিয়েছিলাম। অ্যাপকম্প্যাক্টে আমার নির্ভরতা অটো আপডেটে সেট করা হয়েছিল।

compile 'com.android.support:appcompat-v7:23+'

সুতরাং যত তাড়াতাড়ি একটি নতুন সংস্করণ উপলব্ধ হবে (এই ক্ষেত্রে সংস্করণ ২৩.২.০) এটি আপনার তৈরি করা পুরানো প্রতিস্থাপন করবে।

সুতরাং আপনি হয় অ্যাপকম্প্যাট গ্রন্থাগারের আগের সংস্করণে ফিরে যেতে পারেন (কুইক ফিক্স):

compile 'com.android.support:appcompat-v7:23.1.1'

অথবা বর্তমান গ্রন্থাগার সংস্করণ রাখা এবং ব্যবহার আজিঙ্কা যেমন দ্বারা ব্যাখ্যা এর উত্তর সংস্করণ 23.2.0 মুক্তি নোটে গুগল । আপনি যদি পরে চয়ন করেন তবে আপনার গ্রেড বিল্ড সরঞ্জামটি 1.5.0 সংস্করণে আপডেট করতে ভুলবেন না বা আপনি নতুন প্যারামিটারগুলি ব্যবহার করতে পারবেন না generatedDensities:

classpath 'com.android.tools.build:gradle:1.5.0'

2

একই সমস্যাটির মুখোমুখি, এই সমাধানটি এটি ঠিক করেছে।

আপনার ক্লাসে ঠিক না

public class YourClass extends xxx {
    static {
        AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
    }
    ...
}

এবং এখনও না হলে আপনার গ্রেড ফাইল এ এটি যোগ করুন।

defaultConfig {
    vectorDrawables.useSupportLibrary = true
}

1

আমি সেট করে এটি স্থির করেছি ..

compile 'com.android.support:appcompat-v7:24.1.1'
compile 'com.android.support:design:24.1.1' and buildToolsVersion '24.0.0'

এটি চেষ্টা
করেও

1

আমি এই সমস্যাটিও পূরণ করেছি, আমি যা করেছি: পরিবর্তন করুন

compileSdkVersion 24
buildToolsVersion "22.0.1"

প্রতি

compileSdkVersion 24
buildToolsVersion "24.0.1"

1

Build.gradle toোকান (মডিউল: অ্যাপ):

android {  
  defaultConfig {  
    vectorDrawables.useSupportLibrary = true  
  }  
}

dependencies {
    implementation 'com.android.support:appcompat-v7:26.1.0'
}

এর পরে, নীচে কোডটি ব্যবহার করুন, আপনার অ্যাপএটিভিটি:

 AppCompatResources.getDrawable(getContext(), R.drawable.ic_your);

কোথায় পাওয়া যায় ব্যবহার অ্যাপ: srcCompat পরিবর্তে অ্যান্ড্রয়েড: SRC এবং অ্যান্ড্রয়েড: পটভূমি , এ এক্সএমএল সম্পদ ফাইল


0

আমার এই সমস্যাটি ছিল, তবে নীচের সংস্করণগুলিতে আপডেট করা আমার জন্য এটি ঠিক করে দিয়েছে:

classpath 'com.android.tools.build:gradle:1.5.0'

এবং:

buildToolsVersion "23.0.2"

মডিউল নির্ভরতা:

compile 'com.android.support:appcompat-v7:23.2.0'
compile 'com.android.support:support-v4:23.2.0'

compile 'com.google.android.gms:play-services:8.4.0'

0

আমি প্রতিস্থাপন করে সমস্যাটি স্থির করেছি

compile 'com.android.support:appcompat-v7:23.2.0'
compile 'com.android.support:support-v4:23.2.0'

সঙ্গে

compile 'com.android.support:appcompat-v7:23.0.2'
compile 'com.android.support:support-v4:23.0.2'

0

আমি সর্বশেষ সংস্করণগুলিতে আমার গ্রেডল নির্ভরতা আপডেট করার পরেও আমার প্রকল্পের বিল্ডটুলস ভার্সনটি আপডেট করতে ভুলে যাওয়ার পরে অ্যান্ড্রয়েড স্টুডিও ২.২ এ একই ত্রুটি পেয়েছি।

আমি বদলে গেছি:

compile 'com.android.support:appcompat-v7:22.2.1'

প্রতি:

compile 'com.android.support:appcompat-v7:24.2.1'

যদিও বিল্টটুলস ভার্সনটি এ রকমই ছিল "22.0.1":

buildToolsVersion "22.0.1"

তাই আমি যা করেছি তা হ'ল বিল্ডটুলস ভার্সনটি 24 টির মতো আপডেট করা:

buildToolsVersion "24"

যেহেতু এটি আগে এসডিকে ম্যানেজারের সাথে ডাউনলোড হয়েছে। সুতরাং buildToolsVersionএসডিকে পরিচালকের কাছ থেকে সর্বশেষটি পরীক্ষা করে দেখুন এবং এটি নির্ভরতা সংস্করণটির সাথে মেলে কিনা।

আশা করি এটি কাউকে সাহায্য করবে।


0

আমার জন্য কী কাজ করেছে ... আমার এক্সএমএল ভেক্টর অঙ্কনযোগ্য এর নেমস্পেসের ঘোষণায় 'https' থেকে 'গুলি' সরছিল।

এই এক্সএমএল গুগল অ্যান্ড্রয়েড ডকুমেন্টেশন থেকে এসেছিল। আপনি স্ক্রিনশটে দেখতে পাচ্ছেন যে এক্সএমএলএনগুলি 'HTTP' তবে নীচের অনুলিপি-অনুলিপি সংস্করণে এটি 'https'।

এটি ভেক্টর অ্যাসেট ভিউয়ারে রেন্ডারিং ত্রুটিগুলি থামিয়ে দেবে, তবে আপনি এখনও কিছু দেখতে পাবেন না, কারণ আমি পাই না। এটি একটি রেঞ্চ মত দেখতে অনুমিত হয়।

আপনি অঙ্কনযোগ্য ফোল্ডার এবং "নতুন -> ভেক্টর সম্পদ" রাইট ক্লিক করলে আপনি একটি অ্যান্ড্রয়েড আইকন সম্পদ কাজ করে যা পান get

<vector xmlns:android="http://schemas.android.com/apk/res/android"
        android:width="24dp"
        android:height="24dp"
        android:viewportWidth="24.0"
        android:viewportHeight="24.0">
    <path
        android:fillColor="#FF000000"
        android:pathData="M6,18c0,0.55 0.45,1 1,1h1v3.5c0,0.83 0.67,1.5 1.5,1.5s1.5,-0.67 1.5,-1.5L11,19h2v3.5c0,0.83 0.67,1.5 1.5,1.5s1.5,-0.67 1.5,-1.5L16,19h1c0.55,0 1,-0.45 1,-1L18,8L6,8v10zM3.5,8C2.67,8 2,8.67 2,9.5v7c0,0.83 0.67,1.5 1.5,1.5S5,17.33 5,16.5v-7C5,8.67 4.33,8 3.5,8zM20.5,8c-0.83,0 -1.5,0.67 -1.5,1.5v7c0,0.83 0.67,1.5 1.5,1.5s1.5,-0.67 1.5,-1.5v-7c0,-0.83 -0.67,-1.5 -1.5,-1.5zM15.53,2.16l1.3,-1.3c0.2,-0.2 0.2,-0.51 0,-0.71 -0.2,-0.2 -0.51,-0.2 -0.71,0l-1.48,1.48C13.85,1.23 12.95,1 12,1c-0.96,0 -1.86,0.23 -2.66,0.63L7.85,0.15c-0.2,-0.2 -0.51,-0.2 -0.71,0 -0.2,0.2 -0.2,0.51 0,0.71l1.31,1.31C6.97,3.26 6,5.01 6,7h12c0,-1.99 -0.97,-3.75 -2.47,-4.84zM10,5L9,5L9,4h1v1zM15,5h-1L14,4h1v1z"/>

আমার ডিজাইন এবং আমার অ্যাপকম্প্যাট-ভি 7 উভয়ই 23.2.1 ব্যবহার করে এবং বিল্ডটুলস ভার্সন 23.0.2 ব্যবহার করে।

এটি ঠিক এর মধ্যে '

<vector xmlns:android="http://schemas.android.com/apk/res/android"
        android:width="24dp"
        android:height="24dp"
        android:viewportWidth="24.0"
        android:viewportHeight="24.0">
    <path
        android:fillColor="#FF000000"
        android:pathData="M22.7,19l-9.1,-9.1c0.9,-2.3 0.4,-5 -1.5,-6.9 -2,-2 -5,-2.4 -7.4,-1.3L9,6 6,9 1.6,4.7C0.4,7.1 0.9,10.1 2.9,12.1c1.9,1.9 4.6,2.4 6.9,1.5l9.1,9.1c0.4,0.4 1,0.4 1.4,0l2.3,-2.3c0.5,-0.4 0.5,-1.1 0.1,-1.4z"/>
</vector>

এই অনলাইন ইউটিলিটি আমার দ্বারা ঠিক আছে। ক্রোম ব্যবহার করুন। এটি এসভিজি কে অ্যান্ড্রয়েড ভেক্টর ড্রয়যোগ্যগুলিতে রূপান্তর করে।


0

সমস্যা ছিল:

/VdcInflateDelegate: Exception while inflating <vector>

সমাধান:

পরিবর্তিত compileSdkVersion 23 buildToolsVersion "23.0.2" হয়েছেcompileSdkVersion 24 buildToolsVersion "24.0.2"

সমাধান কোড:

compileSdkVersion 24
buildToolsVersion '24.0.1'

এই উপরের কোডটি ব্যবহার করে আমি সমস্যার সমাধান করেছি


0

আপনার বিল্ডড্র্যাডলে কেবলমাত্র নিম্নলিখিত নির্ভরতা যুক্ত করুন। এটি আপনার সমস্যার সমাধান করবে। আমি ব্যাবহার করছি 25.0.2 বিল্ডটুলস ভার্সন ।

সংকলন 'com.android.support:Support-vector-trawable 25:25.3'


0

আমি ফ্র্যাগমেন্টএটিভিটিটি অ্যাপকম্প্যাটঅ্যাক্টিভিটিতে পরিবর্তন করেছি, সমস্যাটি সমাধান হয়েছে। আমার পরিবেশটি হ'ল:

compileSdkVersion = 25
buildToolsVersion = "25.0.0"
supportVersion = "25.2.0"

0

আমার ক্ষেত্রে এই সমাধানটি কাজ করেছে:

ব্যবহার

android:theme="@style/TextLabelWhite"

ঠিক আপনার এক্সএমএল মত। আপনার অ্যাপ থিম স্টাইলে স্টাইলের পিতামাতার পরিবর্তন করুন, যেমন:

<style name="TextLabelWhite" parent="AppTheme">

0

যদিও আমার গ্রেডে ভেক্টর সক্ষম হয়েছে এবং গ্রেডেলের সর্বশেষতম সংস্করণ, বিল্ড সরঞ্জাম, সমর্থন লাইব্রেরি এবং অ্যান্ড্রয়েড স্টুডিও রয়েছে তবুও ত্রুটিটি পেয়েছি।

এখানে আমার মামলার একটি সমাধান:

AppCompatDrawableManager.get().getDrawable(getContext(), R.drawable.drawable_xyz);

লিঙ্ক সতর্কতা দমন করতে এটি যোগ করুন @SuppressLint("RestrictedApi")


0

ব্যবহারের চেষ্টা করুন: 'com.android.support:design:23.1.1' সংকলন করুন

এর পরিবর্তে: "com.android.support:appcompat-v7:23.2.0" সংকলন করুন


0

এছাড়াও পর্যবেক্ষণ করা হয়েছে উপর buildToolsVersion '26 .0.2 '

Downgrading করার buildToolsVersion '25 .0.3 'কাজ

BuildToolsVersion '26 জন্য .0.2 ': উইজেট উদাহরণস্বরূপ AppCompat চেষ্টা TextView -> android.support.v7.widget.AppCompatTextView (পুরোনো Android সংস্করণটিকে সমর্থন জন্য) এছাড়াও নিম্ন শেষ ডিভাইসের পরিলক্ষিত যখন ডিভাইস অঙ্কনযোগ্য ফোলান অক্ষম মেমরির কারণে অভাব। (যদিও আপনার পুনরায় আকারে> অঙ্কনযোগ্য ডিয়ারের মধ্যে অঙ্কনযোগ্য উপস্থিত রয়েছে): কম জটিল ব্যক্তিদের সাথে আপনার আঁকতে পরিবর্তন করার চেষ্টা করুন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.