私はベクタードロワブルに切り替えています。古いAndroidバージョンでもかなりうまく動作しています。私のアプリは4+をターゲットとしています。私は私の通知の1つをベクトルイメージに切り替えました。これを行うには、プログラムでVectorDrawableCompat
を使用しなければなりませんでした。突然、リソースを見つけることができないため、その通知の例外が発生します。
これは例外である:
Fatal Exception: android.content.res.Resources$NotFoundException: File res/drawable-hdpi-v4/vector_name.png from xml type xml resource ID #0x7f0201d5
at android.content.res.Resources.loadXmlResourceParser(Resources.java:3733)
at android.content.res.Resources.loadXmlResourceParser(Resources.java:3680)
at android.content.res.Resources.getXml(Resources.java:2215)
at android.support.graphics.drawable.VectorDrawableCompat.create(VectorDrawableCompat.java:408)
は、これは私が実行しているコードです:
VectorDrawableCompat vector = VectorDrawableCompat.create(getResources(), R.drawable.vector_name, null);
私のGradleファイルに次の行vectorDrawables.useSupportLibrary = true
を持っており、私は他のすべてのベクトルが正常に動作している、と述べたように私はほとんどAppCompatImageView
を使ってそれらを使用しています。
編集:私はライブラリモジュールの中でこれをやっていることを言及する必要があります。これは、実行時に21より低いAPIのPNG画像を生成し、そうでないので、あなたがエラーを取得することはできません
vectorDrawables.useSupportLibrary = true
:あなたはあなたのbuild.gradle
ファイルにdefaultConfig
ブロック内の行を追加する必要が
これは、開発者がサポートライブラリに追加するのを忘れていた可能性があります。あなたはGoogleの開発者に問題を提起する可能性があります。 –