Наконец-то и до сюда добралось!
Проблема в последнем
AppCompat 23.2.0
.
В этой версии ввели поддержку
VectorDrawableCompat
.
Теперь векторные ресурсы больше не будут конвертироваться в растровые на этапе сборки.
Однако,студия об этом не знает,и она автоматически решила сделать это опять.
Поэтому нужно прописать специальный флаг в
Gradle
вашего проекта,
иначе вылетит, такой же
exception
, как и у вас.
1-ый вариант(если у вас версия
Gradle wrapper >= 2.0
):
android {
defaultConfig {
vectorDrawables.useSupportLibrary = true
}
}
2-ой вариант:(если версия
Gradle wrapper == 1.5
; скорее всего он вам и подойдёт)
android {
defaultConfig {
// Stops the Gradle plugin’s automatic rasterization of vectors
generatedDensities = []
}
// Flag to tell aapt to keep the attribute ids around
aaptOptions {
additionalParameters "--no-version-vectors"
}
}
Ну, а чтобы использовать это дело:
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@drawable/ic_search"/>
Обратите внимание на последнюю строчку:
app:srcCompat="@drawable/ic_search"
Однако, данное решение помогает не всем.Хотя, вы просто лишаетесь видеть правильный
вид некоторых элементов во время редактирования.При запуске всё будет выглядеть нормально.