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 "



Есть идеи ?

586   1  

1 ответ:

Объяснение

Материал означает, что ваш sdk должен быть выше или по крайней мере 21, а не 18. Вот в чем причина этой ошибки.

Решение

Измените @Config(sdk = 18) на @Config(sdk = 21) или с более высокой версией.

Это работает.

Comments

    Ничего не найдено.