Saya mencoba memperbarui Perpustakaan Dukungan saya hingga 23.2.0 dan menghadapi kesalahan ini:
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)
Dan
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)
Saya 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>
Bagaimana cara memperbaikinya?
android
android-support-library
mr.icetea
sumber
sumber
24.0.0
jika seseorang memiliki tip tentangnya, silakan bagikan, saya benar-benar mencoba semuanya.Jawaban:
Gunakan kode ini di file build.gradle Anda
//for Gradle Plugin 2.0+ android { defaultConfig { vectorDrawables.useSupportLibrary = true } }
Jika Anda menggunakan Gradle 1.5, Anda akan menggunakan
defaultConfig { generatedDensities = [] } // This is handled for you by the 2.0+ Gradle Plugin aaptOptions { additionalParameters "--no-version-vectors" }
Saya pikir mungkin mereka menggunakan vektor draw-mampu kompak di bawahnya di lib.found lain ditemukan di sini
sumber
Could not find property 'vectorDrawables' on ProductFlavor_Decorated
Anda juga dapat meningkatkan ke 23.4.0
dependencies { compile 'com.android.support:appcompat-v7:23.4.0' compile 'com.android.support:design:23.4.0' }
dan gunakan tanda untuk mengaktifkan fungsionalitas ini secara manual:
static { AppCompatDelegate.setCompatVectorFromResourcesEnabled(true); }
di dalam aktivitas yang menggunakan vektor.
Sumber: Umur vektor
sumber
com.android.support:appcompat-v7:25.3.1
menjalankan aplikasi di API 19. Konfigurasi default adalahvectorDrawables.useSupportLibrary = true
tetapi macet saat mengatur drawable ImageSwitcher dengan vektor. Akhirnya dengan pernyataan statis ini, saya bisa setImageResource dengan vector drawable. Tampaknya SDK Android luar biasa dan belum dewasa.Harap hapus appcompat gradle (
compile "com.android.support:appcompat-v7:23.2.0"
) dan ganti dengan desain dukungan (compile 'com.android.support:design:23.1.1'
) ini akan menyelesaikan masalahsumber
Pada perangkat pra-lollipop, Anda perlu membuat selektor untuk menggunakan VectorDrawable di tempat lain dari ImageView
app:srcCompat="@drawable/your_vector_drawable"
Pemilih:
<?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>
Kemudian Anda dapat meneruskan pemilih ini, misalnya untuk TextView drawableLeft / drawableRight dalam xml
<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" />
sumber
android:drawable
atribut di xml: s yang mereferensikan vector drawable. Entah ini atau menyetel latar belakang drawable secara terprogram. Wth!Sebagai ganti ContextCompat.getDrawable , cukup gunakan AppCompatDrawableManager.get (). GetDrawable .
Ini harus bekerja pada versi yang lebih tinggi dari 23. +
sumber
AppCompatDrawableManager.get().getDrawable(getContext(), R.drawable.drawable_xyz);
dengan kode. Tidak yakin bagaimana cara kerjanya jika dideklarasikan oleh xml.AppCompatResources.getDrawable(getContext(), R.drawable.drawable_xyz);
Menggunakan:
compileSdkVersion 24 buildToolsVersion '24.0.1'
Saya jatuh pada saat run time sampai saya menghapus garis
defaultConfig { vectorDrawables.useSupportLibrary = true }
dari aplikasi guild.gradle saya
Ini tampaknya membingungkan versi SDK yang lebih baru
Semoga ini bisa menyelamatkan sakit kepala orang lain
sumber
app:srcCompat
To use VectorDrawableCompat, you need to set android.defaultConfig.vectorDrawable.useSupportLibrary = true.
? Sangat membingungkan!Saya memperbaiki masalah ini dengan mengganti
dependencies { compile 'com.android.support:appcompat-v7:23.2.0' compile 'com.android.support:design:23.2.0' }
dengan
dependencies { compile 'com.android.support:appcompat-v7:23.0.1' compile 'com.android.support:design:23.0.1' }
sumber
Campuran dari beberapa solusi di atas berhasil untuk saya. Inilah yang saya lakukan -
Ubah versi Gradle dari 1.3.0 ke 1.5.0 di
build.gradle
dari proyek seperti iniclasspath 'com.android.tools.build:gradle:1.5.0'
Perbarui bawah hal-hal di
build.gradle
dari aplikasibuildToolsVersion "23.0.2"
Dependensi Modul yang diperbarui dari 23.2.0 hingga 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'
Sekarang tergantung pada versi gradle yang Anda gunakan, gunakan salah satu dari dua cuplikan berikut. Karena saya menggunakan gradle 1.5.0, saya menggunakan ini -
defaultConfig { generatedDensities = [] } aaptOptions { additionalParameters "--no-version-vectors" }
Tetapi jika Anda menggunakan Gradle 2.1.0, gunakan ini sebagai gantinya
defaultConfig { vectorDrawables.useSupportLibrary = true }
Dan kemudian Anda siap untuk pergi. Saya mengujinya baik dalam xml maupun secara terprogram. Dalam file xml, saya menggunakan ini di ImageView saya -
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
Dan untuk melakukannya secara terprogram, saya menggunakan ini -
imageView.setImageResource(R.drawable.anim_droid); Drawable drawable = imageView.getDrawable(); if (drawable instanceof Animatable) { ((Animatable) drawable).start(); }
Semoga membantu! Bersulang :)
sumber
Punya masalah yang sama. Bagi saya, sebenarnya meningkatkan versi Alat build membantu:
buildToolsVersion "23.0.2"
sumber
Hadapi masalah crash pada api 19 saat memperbarui ke 23.2.0. Saya memecahkan masalah ini dengan memperbarui versi ke 23.2.1. (Versi terbaru saat menjawab pertanyaan ini. Coba perbarui ke yang terbaru, mungkin google telah memperbaikinya)
compile 'com.android.support:appcompat-v7:23.2.1' compile 'com.android.support:support:23.2.1'.
sumber
'com.android.support:support:23.2.1'
?Pastikan Anda menggunakan yang terbaru
buildToolsVersion
juga (Unduh dari pengelola SDK jika perlu).Gradle Sampel:
android { compileSdkVersion 24 buildToolsVersion "24.0.0" defaultConfig { ... vectorDrawables.useSupportLibrary = true } dependencies { ... compile 'com.android.support:appcompat-v7:24.0.0' ... } }
sumber
Di Gradle (gradle: 2.1.0):
defaultConfig { vectorDrawables.useSupportLibrary = true }
Dalam tata letak:
<ImageView android:layout_width="match_parent" android:layout_height="match_parent" app:srcCompat="@drawable/you_vector_drawable"/>
sumber
Saya mengalami masalah ini, tetapi memperbarui ke versi build: grade:
classpath 'com.android.tools.build:gradle:1.5.0'
Dan:
buildToolsVersion "23.0.2"
Keberhasilan!
sumber
Ganti
android:src
denganapp:srcCompat
sumber
Saya terkejut dengan masalah yang sama persis ketika saya membuat versi baru aplikasi saya. Ketergantungan saya pada appcompact disetel ke pembaruan otomatis.
compile 'com.android.support:appcompat-v7:23+'
Jadi, segera setelah versi baru tersedia (dalam hal ini versi 23.2.0) itu akan menggantikan versi lama yang Anda gunakan untuk membangun.
Jadi Anda bisa beralih kembali ke versi sebelumnya dari pustaka appcompat (Perbaikan cepat):
compile 'com.android.support:appcompat-v7:23.1.1'
Atau simpan versi perpustakaan saat ini dan gunakan jawaban Ajinkya seperti yang dijelaskan oleh google dalam catatan rilis versi 23.2.0 . Jika Anda memilih yang lebih baru, jangan lupa untuk memperbarui alat build gradle ke versi 1.5.0 atau Anda tidak dapat menggunakan parameter baru seperti
generatedDensities
:classpath 'com.android.tools.build:gradle:1.5.0'
sumber
Menghadapi masalah yang sama, solusi ini memperbaikinya.
Di kelas Anda lakukan saja
public class YourClass extends xxx { static { AppCompatDelegate.setCompatVectorFromResourcesEnabled(true); } ... }
dan juga tambahkan ini di file gradle Anda jika belum.
defaultConfig { vectorDrawables.useSupportLibrary = true }
sumber
Saya telah memperbaikinya dengan menyetel ..
compile 'com.android.support:appcompat-v7:24.1.1' compile 'com.android.support:design:24.1.1' and buildToolsVersion '24.0.0'
sumber
Saya menemui masalah ini juga, apa yang saya lakukan: perubahan
compileSdkVersion 24 buildToolsVersion "22.0.1"
untuk
compileSdkVersion 24 buildToolsVersion "24.0.1"
sumber
Sisipkan ke build.gradle (Module: app):
android { defaultConfig { vectorDrawables.useSupportLibrary = true } } dependencies { implementation 'com.android.support:appcompat-v7:26.1.0' }
Setelah itu, gunakan kode di bawah ini, di AppActivity Anda:
AppCompatResources.getDrawable(getContext(), R.drawable.ic_your);
Jika tersedia, gunakan app: srcCompat sebagai ganti android: src dan android: background , dalam file sumber daya XML
sumber
Saya mengalami masalah ini, tetapi memperbarui ke versi di bawah ini memperbaikinya untuk saya:
classpath 'com.android.tools.build:gradle:1.5.0'
Dan:
buildToolsVersion "23.0.2"
Ketergantungan modul:
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'
sumber
Saya memperbaiki masalah dengan mengganti
compile 'com.android.support:appcompat-v7:23.2.0' compile 'com.android.support:support-v4:23.2.0'
dengan
compile 'com.android.support:appcompat-v7:23.0.2' compile 'com.android.support:support-v4:23.0.2'
sumber
Saya mendapatkan kesalahan yang sama di Android Studio 2.2 setelah saya memperbarui dependensi Gradle saya ke versi terbaru tetapi lupa memperbarui buildToolsVersion proyek saya.
Aku berubah:
compile 'com.android.support:appcompat-v7:22.2.1'
untuk:
compile 'com.android.support:appcompat-v7:24.2.1'
Sementara buildToolsVersion tetap
"22.0.1"
seperti ini:buildToolsVersion "22.0.1"
Jadi yang saya lakukan hanyalah memperbarui buildToolsVersion ke 24 seperti ini:
buildToolsVersion "24"
karena sebelumnya telah diunduh dengan SDK Manager. Jadi periksa yang terbaru
buildToolsVersion
dari SDK Manager dan lihat apakah cocok dengan versi dependensi.Semoga ini bisa membantu seseorang.
sumber
Bagi saya apa yang berhasil ... adalah menghapus 's' dari 'https' di deklarasi namespace dari drawable vektor xml saya.
XML itu berasal dari dokumentasi Google Android itu sendiri. Anda dapat melihat di tangkapan layar bahwa xmlns adalah 'http' tetapi dalam versi salin-tempel di bawah, ini adalah 'https'.
Ini akan menghentikan kesalahan rendering di penampil Aset Vektor, tetapi Anda masih tidak akan melihat apa pun, karena alasan yang tidak saya mengerti. Seharusnya terlihat seperti kunci inggris.
Jika Anda mengklik kanan folder drawable dan "New -> Vector Asset", Anda mendapatkan aset ikon android yang berfungsi.
<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"/>
Baik desain saya dan appcompat-v7 saya menggunakan 23.2.1, dan buildToolsVersion 23.0.2.
Ini baru saja masuk. Kunci pas yang dihasilkan oleh file antarmuka 'ikon material' -> baru -> aset vektor -> ikon material (lalu klik ikon dan pilih kunci pas) adalah:
<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>
Utilitas online ini saya lakukan dengan baik. Gunakan Chrome. Ini mengubah SVG menjadi sumber daya dapat digambar untuk vektor android.
sumber
masalahnya adalah:
larutan:
diubah
compileSdkVersion 23 buildToolsVersion "23.0.2"
menjadicompileSdkVersion 24 buildToolsVersion "24.0.2"
kode solusi:
compileSdkVersion 24 buildToolsVersion '24.0.1'
menggunakan kode di atas ini saya memecahkan masalah
sumber
Cukup tambahkan ketergantungan berikut di build.gradle Anda. ini akan memperbaiki masalah Anda. Saya menggunakan 25.0.2 buildToolsVersion.
kompilasi 'com.android.support:support-vector-drawable:25.3.0'
sumber
Saya mengubah FragmentActivity ke AppCompatActivity, masalah sudah terpecahkan. Lingkungan saya adalah:
compileSdkVersion = 25 buildToolsVersion = "25.0.0" supportVersion = "25.2.0"
sumber
Dalam kasus saya , solusi ini berhasil:
sumber
Meskipun saya memiliki dukungan vektor yang diaktifkan di gradle saya dan memiliki versi terbaru dari gradle, alat pembuatan, pustaka dukungan, dan studio Android, saya masih mendapatkan kesalahan.
Berikut perbaikan untuk kasus saya:
AppCompatDrawableManager.get().getDrawable(getContext(), R.drawable.drawable_xyz);
untuk menekan peringatan lint, tambahkan ini
@SuppressLint("RestrictedApi")
sumber
coba gunakan: compile 'com.android.support:design:23.1.1'
alih-alih: compile "com.android.support:appcompat-v7:23.2.0"
sumber
Juga diamati di buildToolsVersion '26 .0.2 '
Merendahkan untuk buildToolsVersion '25 .0.3' bekerja .
Untuk buildToolsVersion '26 .0.2 ': Coba AppCompat for Widgets Contoh: TextView -> android.support.v7.widget.AppCompatTextView (Untuk dukungan Versi Android yang lebih lama) Juga diamati pada perangkat kelas bawah saat perangkat tidak dapat mengembangkan drawable karena memori kekurangan. (Meskipun drawable ada di direktori res-> drawable Anda): Coba ubah drawable Anda dengan yang tidak terlalu rumit .
sumber