Ich benutze einige Vektor Drawables in meiner App, aber nur für V21 und höher - sie sind in der Ressource Ordner Drawable-anydpi-v21 und auch Fallback-Bitmap-Versionen für die anderen API-Ebenen (Drawable-hdpi .mdpi, ...).Android Robolectric und Vektor Drawables
Wenn ich einen robolectric mit dieser Konfiguration laufen
@Config(sdk = 16, application = MyApp.class, constants = BuildConfig.class, packageName = "com.company.app")
ich folgende Fehlermeldung erhalten, auf aufblasen der Ansichten diese Drawables mit
Caused by: android.content.res.Resources$NotFoundException: File ./app/build/intermediates/data-binding-layout-out/dev/debug/drawable-anydpi-v21/ic_info_outline_white_24dp.xml from drawable resource ID #0x7f02010e
Caused by: org.xmlpull.v1.XmlPullParserException: XML file ./app/build/intermediates/data-binding-layout-out/dev/debug/drawable-anydpi-v21/ic_info_outline_white_24dp.xml line #-1 (sorry, not yet implemented): invalid drawable tag vector
die relevanten Teile des build.gradle sind:
android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
defaultConfig {
applicationId "com.example.app"
minSdkVersion 16
targetSdkVersion 23
versionCode 79
versionName "0.39"
// Enabling multidex support.
multiDexEnabled true
vectorDrawables.useSupportLibrary = true
testApplicationId "com.example.app.test"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
testOptions {
unitTests.returnDefaultValues = true
}
}
dependencies {
compile 'com.android.support:support-vector-drawable:23.4.0'
testCompile "org.robolectric:robolectric:3.1"
testCompile "org.robolectric:shadows-multidex:3.1"
testCompile "org.robolectric:shadows-support-v4:3.1"
}
So sieht es aus, obwohl ich angegeben habe, sdk = 16 Robolectric scheint zu t ake die Drawables von Drawable-anydpi-v21.
Ist das ein Fehler ist Roboelectric? oder
Gibt es eine bessere Möglichkeit, anzugeben, was die APK-Ebene ist? oder
Gibt es eine Möglichkeit, lassen Sie Roboelec der Vektor-Tag lesen? oder
Eine andere Möglichkeit, es zu tun?
Können Sie Ihre 'build.gradle' zeigen? Um sicher zu stellen, wie Sie Vektor-Zeichensatz verwenden –
build.gradle hinzugefügt – siliconeagle
Es funktioniert nicht so haben Sie 'defaultConfig { vectorDrawables.useSupportLibrary = true }'? –