Robolectric Resources$NotFoundException: drawableabc ic ab back material.xml от drawable resource ID
Когда я пытаюсь бежать:
Robolectric.setupActivity(MainActivity.class).getSupportFragmentManager()
.beginTransaction().add(mapFragment, "" + NavigationCtrl.FRAG_MAP).commit();
Robolectric выдает ошибку:
android.content.res.Resources$NotFoundException: File buildintermediatesresmergeddevdrawableabc_ic_ab_back_material.xml from drawable resource ID #0x7f020013
at android.content.res.Resources.loadDrawable(Resources.java:2091)
at org.robolectric.util.ReflectionHelpers.callInstanceMethod(ReflectionHelpers.java:195)
at org.robolectric.internal.Shadow.directlyOn(Shadow.java:57)
at org.robolectric.shadows.ShadowResources.loadDrawable(ShadowResources.java:225)
at android.content.res.Resources.loadDrawable(Resources.java)
at android.content.res.Resources.getDrawable(Resources.java:695)
Caused by: org.xmlpull.v1.XmlPullParserException: XML file buildintermediatesresmergeddevdrawableabc_ic_ab_back_material.xml line #-1 (sorry, not yet implemented): invalid drawable tag vector
at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:897)
at android.graphics.drawable.Drawable.createFromXml(Drawable.java:837)
at android.content.res.Resources.loadDrawable(Resources.java:2087)
Мои другие тесты с Robolectric работают правильно, это только "setupActivity" (их несколько).
Я знаю, что могу также начать свой фрагмент с SupportFragmentTestUtil.startFragment(fragment), но мне нужно передать переменную " tag "
Есть идеи ?
1 ответ:
Объяснение
Материал означает, что ваш sdk должен быть выше или по крайней мере 21, а не 18. Вот в чем причина этой ошибки.Решение
Измените
@Config(sdk = 18)на@Config(sdk = 21)или с более высокой версией.Это работает.
Comments