Androidサポートライブラリを23.2.0に更新すると、エラーが発生します。XmlPullParserExceptionバイナリXMLファイルの行#17 <vector>タグには、viewportWidth> 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
&**&#$全体としてAndroid開発をあきらめ始めています!以前のバージョンで導入されたバグを修正するために、1つの新しいSDKバージョンにアップグレードする個人として、私の人生の多くを無駄にしてきたとは信じられません。ARRGGGGHHH!
ネオンワージ2016年

1
私はAPI v23.1.0に解決しました:P
Neon Warge

4
24.0.0誰かがそれについてのヒントを持っている場合、同じ問題を抱えています、それを共有してください、私は本当にすべてのものを試しました。
wviana

1
@NeonWarge ...私は今数回ブロックを回っています。これらの答えは私には何もしません。痛みを感じ始めていると確信しています
Jan Jansz 2016

回答:


54

このコードをbuild.gradleファイルで使用します

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

Gradle 1.5を使用している場合は、代わりに使用します

defaultConfig {
        generatedDensities = []
    }

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

私は彼らが他のlib.foundの下でベクトル描画可能なコンパクトを使用しているのではないかと思います


7
@ MAY3AM申し訳ありませんがEclipseで試されていません。
Ajinkya 2016

6
最終的に私の問題を解決したのは、@ wonglikの答えであるbuildToolsVersion "23.0.2"を設定することでした。
2016年

1
21未満のデバイスでベクター型ドローアブルを使用するには、xmlでandroid:srcではなくapp:srcCompatを使用することを忘れないでください。
Timo

1
これは私にはうまくいきません。私の設定は次のとおりです:buildToolsVersion "23.0.2"; クラスパス 'com.android.tools.build:gradle:2.0.0-beta6'; defaultConfig {vectorDrawables.useSupportLibrary = true}
Allen

6
この解決策は私にはうまくいきません。Could not find property 'vectorDrawables' on ProductFlavor_Decorated
Mulgard 2016年

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);
}

ベクトルを使用するアクティビティの内部。

出典:ベクターの時代


いくつかのベースアクティビティ内の静的呼び出しは、vectorDrawables.useSupportLibrary = trueで苦労しているすべての開発者の問題を解決するので、この答えは+1です。
Stoycho Andreev、2016

ああ、♫それは一種の魔法です♫。私はcom.android.support:appcompat-v7:25.3.1API 19でアプリの実行を使用しています。デフォルトの設定はですvectorDrawables.useSupportLibrary = trueが、ImageSwitcherドローアブルをベクターで設定するとクラッシュしました。最後に、この静的ステートメントを使用して、ベクター型ドローアブルでsetImageResourceを設定できます。Android SDKはすばらしいと同時に未熟なようです。
ジュニアメイヘ2017

26

appcompat gradle(compile "com.android.support:appcompat-v7:23.2.0")を削除して、サポート設計(compile 'com.android.support:design:23.1.1')に置き換えてください。 これで問題が解決します


これらの変更は23.1.1 defaultConfig {generatedDensities = []}でも行われますか//これは2.0+ GradleプラグインaaptOptions {additionalParameters "--no-version-vectors"}によって処理されます
Ravi

20
しかし、最新のappcompactライブラリを使用したい場合はどうなりますか?
Ajinkya

23

プレロリポップデバイスでは、ImageViewの他の場所でVectorDrawableを使用するためにセレクターを作成する必要があります

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>

次に、このセレクターを渡すことができます。たとえば、XMLのTextView drawableLeft / drawableRightの場合

<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" />

build.gradleのバージョンに関係なく、このソリューションは機能します
PsyGik

私はアプリのbuild.gradleにvectorDrawables.useSupportLibrary = trueがあり、compileSdkVersion 25とbuildToolsVersion "25.0.0"と依存関係ライブラリのリビジョン25.0.0を使用しましたが、useSupportLibraryの助けにはなりませんでした。
mr.boyfox 2016年

このソリューションはサポートライブラリ25.00と24でも機能します。Android4.2.2タブレットでテストしました(Google Playはサポートしていません)。このソリューションは魅力のように機能します!
mr.boyfox 2016年

これは、今日[buildtools 25+]で機能します- android:drawableベクタードローアブルを参照するxml:sの属性では、他に何も機能しません。これは、またはプログラムで背景を描画可能に設定することです。Wth!
PARニルスAmsen

22

ContextCompat.getDrawableの代わりに、AppCompatDrawableManager.get()。getDrawableを使用するだけです

これは23以降のバージョンで機能するはずです。


1
カスタムビューにベクターを使用しようとしています。これでうまくいきます。ただしAppCompatDrawableManager.get().getDrawable(getContext(), R.drawable.drawable_xyz);、コードで直接呼び出すだけです。xmlで宣言されている場合、どのように機能するかわかりません。
Robert

1
この変更により、問題が解決しました。ありがとうございました。
albert cブラウン

1
これもmaの問題を修正しました。どうも !
rana

1
また、次のものも使用できますAppCompatResources.getDrawable(getContext(), R.drawable.drawable_xyz);
。– Warcello

19

使用:

compileSdkVersion 24
buildToolsVersion '24.0.1'

行を削除するまで、実行時にクラッシュしました

  defaultConfig {
    vectorDrawables.useSupportLibrary = true
  }

私のアプリケーションguild.gradleから

これはSDKの新しいバージョンを混乱させるようです

これが他の誰かの頭痛を救うことを願っています


これは私に役立ちます。
Sergey Shustikov 16

1
ectorDrawables.useSupportLibraryを削除すると、私の4.4.2デバイスでのクラッシュが停止しました。
アカプルコ2016

うわー、本当にうまくいきます!しかし、どうしてapp:srcCompat To use VectorDrawableCompat, you need to set android.defaultConfig.vectorDrawable.useSupportLibrary = true.。とても混乱しています!
HendraWD 2017

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

上記のソリューションのいくつかを組み合わせることでうまくいきました。これが私がしたことです-

このようbuild.gradleプロジェクトの gradleバージョンを1.3.0から1.5.0に変更します

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

で物事下記のアップデート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'

ここで、使用しているGradleのバージョンに応じて、次の2つのスニペットのいずれかを使用します。私はgradle 1.5.0を使用しているので、これを使用しました-

defaultConfig {
            generatedDensities = []
            }

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

しかし、Gradle 2.1.0を使用している場合は、代わりにこれを使用してください

       defaultConfig {  
         vectorDrawables.useSupportLibrary = true  
         }

そして、あなたは行ってもいいです。xmlとプログラムの両方でテストしました。xmlファイルで、ImageViewでこれを使用しました-

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にアップデートすると、API 19でクラッシュの問題が発生します。私はバージョンを23.2.1に更新することでこの問題を解決しました(この質問に答えるときの最新バージョン。最新に更新してみてください、おそらくgoogleが修正されています)

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

1
なぜ全体をコンパイルする必要があるの'com.android.support:support:23.2.1'ですか?
IgorGanapolsky 2016年

最新のコンパイル 'com.android.support:support-v4:23.3.0'コンパイル 'com.android.support:appcompat-v7:23.3.0'コンパイル 'com.android.support:design:23.3.0 '
Alexandr

7

最新のbuildToolsVersionものも使用してください(必要に応じて、SDKマネージャーからダウンロードしてください)。

サンプルGradle:

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

3
buildToolsVersion "24.0.0"は私の日を保存します:)
NullPointer

これは、sdk 24をコンパイルするために更新しようとしているが、4.xデバイスではまだエラーが発生している人にとって正しい答えです。
fillobotto 2016

4

Gradleの場合(gradle:2.1.0):

defaultConfig {
    vectorDrawables.useSupportLibrary = true
}

レイアウト:

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

3

私はこの問題を抱えていましたが、build:gradeバージョンに更新します:

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

そして:

buildToolsVersion "23.0.2"

成功!



2

私が自分のアプリの新しいバージョンを作成したとき、私はこのまったく同じ問題に驚きました。appcompactへの依存関係は自動更新に設定されていました。

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

したがって、新しいバージョン(この場合はバージョン23.2.0)が利用可能になるとすぐに、ビルドしていた古いバージョンが置き換えられます。

したがって、前のバージョンのappcompatライブラリに戻すことができます(クイックフィックス)。

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

または、現在のライブラリバージョンを維持し、バージョン23.2.0のリリースノートでgoogleによって説明されているAjinkyaの回答を使用します。後者を選択する場合は、gradleビルドツールをバージョン1.5.0に更新することを忘れないでください。そうしないと、次のような新しいパラメーターを使用できません。generatedDensities

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

2

同じ問題に直面し、このソリューションはそれを修正しました。

クラスで

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

また、まだ追加していない場合は、これをgradleファイルに追加します。

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(Module:app)に挿入します:

android {  
  defaultConfig {  
    vectorDrawables.useSupportLibrary = true  
  }  
}

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

その後、以下のコードをAppActivityで使用します。

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

利用可能な場合は、XMLリソースファイルでandroid:srcおよびandroid:backgroundの代わりにapp:srcCompatを使用します。


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

Gradleの依存関係を最新バージョンに更新した後、Android Studio 2.2でも同じエラーが発生しましたが、プロジェクトのbuildToolsVersionを更新するのを忘れていました。

私が変更され:

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

に:

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

buildToolsVersionはで推移している間"22.0.1"そうのように:

buildToolsVersion "22.0.1"

だから私がやったことは、buildToolsVersionを24に更新することだけでした:

buildToolsVersion "24"

SDK Managerで以前にダウンロードされているため。だから最新のチェックbuildToolsVersion、SDK Managerを、依存関係のバージョンと一致しているかどうかを確認してください。

これが誰かを助けることを願っています。


0

私にとってうまくいったことは、私のxmlベクタードローアブルの名前空間宣言で「https」から「s」を削除することでした。

そのXMLは、Google Androidのドキュメント自体からのものです。スクリーンショットでxmlnsが「http」であることがわかりますが、以下のコピー貼り付け可能なバージョンでは「https」です。

これにより、ベクターアセットビューアのレンダリングエラーが停止しますが、理由がわからないため、何も表示されません。レンチのように見えるはずです。

ドローアブルフォルダーを右クリックして[新規->ベクターアセット]を選択すると、Androidアイコンアセットが機能します。

<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"/>

私のデザインとappcompat-v7はどちらも23.2.1とbuildToolsVersion 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>

このオンラインユーティリティは私には大丈夫でした。Chromeを使用します。SVGをAndroidのベクタードローアブルに変換します。


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

build.gradleに次の依存関係を追加するだけです。これで問題が解決します。私は使っています 25.0.2 buildToolsVersionいます。

「com.android.support:support-vector-drawable:25.3.0」をコンパイルします


0

FragmentActivityをAppCompatActivityに変更しました。問題は解決しました。私の環境は:

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

0

私の場合、この解決策はうまくいきました:

使用する

android:theme="@style/TextLabelWhite"

あなたのXMLのように。次のように、親スタイルをAppThemeスタイルに変更します。

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

0

Gradleでベクターのサポートが有効になっていて、Gradleの最新バージョン、ビルドツール、サポートライブラリ、Android Studioがあるにもかかわらず、まだエラーが発生します。

ここに私のケースの修正:

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 'でも観察さます

buildToolsVersion '25 .0.3 'へのダウングレード機能した

buildToolsVersion '26 .0.2 'の場合:AppCompat for Widgetsの例を試してください。例:TextView- > android.support.v7.widget.AppCompatTextView (古いAndroidバージョンのサポートの場合)メモリが原因でデバイスがドローアブルを拡張できない場合にも、ローエンドデバイスで観察されます。不足。(ドロアブルがres-> drawable dirに存在していても):シンプルなものでドローアブルを変更してみてください

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.