При работе с Android >= 5.0,
Drawable d = getResources().getDrawable(R.drawable.icon)
Правильно анализирует XML и возвращает допустимый допустимый. Но при использовании новой Библиотеки векторной библиотеки с возможностью рисования (версия 23.4, Gradle 2.1.2) этот код разбивается под Android 4.
android.content.res.Resources $NotFoundException
...
Вызвано: org.xmlpull.v1.XmlPullParserException: двоичная строка XML файла # 2: недопустимый вектор тегов
Решение заключалось бы в использовании
Drawable d = VectorDrawableCompat.create(getResources(), R.drawable.icon, null);
Но это сбой, если ресурс не является векторным ресурсом:
java.io.FileNotFoundException: поврежденный двоичный файл XML
Итак, какой код нужно использовать вместо первой строки, чтобы он работал с Android 4 и Android 6 и с векторными и не векторными чертежами - например, во всех случаях эта строка использовалась в проекте Android 5.0+? В статье библиотеки поддержки не упоминается способ выполнения этой миграции