2015-12-29 12 views
13

私はNDKサポートを使用して、このエラーを取得しています:XmlPullParserException:無効な描画可能なタグベクトル

のGradle:

分布:gradle-2.5-all

ビルド・ツール:gradle-experimental:0.2.1

XML:

<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

例外:あなたは資源からあなたのベクトルを取得するためにVectorDrawableCompatを使用する必要がある前ロリポップデバイスで

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

@bendafはい。受け入れられた答えをチェックしてください。 –

答えて

17

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

ImageViewの背景を設定することができます。

+0

ボタンでdrawableLeftを使用している場合、api 19のbuildToolsVersion "25.0.3"でこのエラーが発生します。この回避策は私のために働いた唯一のアプローチです。 – Aleris

+0

これは私の一日を保存しました!唯一の回避策です。ビルドツール26.0.0で試してみましたが、同じ問題があります。 – AndroidRuntimeException

+0

メニュー項目( 'android:icon = @ drawable/icon_name')のxmlに含まれているときにこれを解決する方法はありますか? –

2

私はこれにかなり面白い回避策を見つけました。バックグラウンドをxmlドロアブルを含むドロウアブルファイルに設定すると、例外/クラッシュがなくなります。

したがって、次のを持って描画可能なファイルを作成します。それは前のロリポップのためだけに働いていない場合は、...

0

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

を、背景として、この描画可能ファイルの名前を入れてこれをあなたのアクティビティに追加してください

static { 
    AppCompatDelegate.setCompatVectorFromResourcesEnabled(true); 
} 
関連する問題