Robolectric Resources$NotFoundException:drawable\abc_ic_ab_back_material.xml 来自可绘制资源 ID
Robolectric Resources$NotFoundException:drawable\abc_ic_ab_back_material.xml from drawable resource ID
当我尝试 运行 :
Robolectric.setupActivity(MainActivity.class).getSupportFragmentManager()
.beginTransaction().add(mapFragment, "" + NavigationCtrl.FRAG_MAP).commit();
Robolectric 抛出错误:
android.content.res.Resources$NotFoundException: File build\intermediates\res\merged\dev\drawable\abc_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 build\intermediates\res\merged\dev\drawable\abc_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" 变量
有什么想法吗?
说明
Material means that your sdk should be higher or at least 21, not 18.
That's the reason of this error.
解决方案
将 @Config(sdk = 18)
更改为 @Config(sdk = 21)
或更高版本。
有效。
当我尝试 运行 :
Robolectric.setupActivity(MainActivity.class).getSupportFragmentManager()
.beginTransaction().add(mapFragment, "" + NavigationCtrl.FRAG_MAP).commit();
Robolectric 抛出错误:
android.content.res.Resources$NotFoundException: File build\intermediates\res\merged\dev\drawable\abc_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 build\intermediates\res\merged\dev\drawable\abc_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" 变量
有什么想法吗?
说明
Material means that your sdk should be higher or at least 21, not 18. That's the reason of this error.
解决方案
将 @Config(sdk = 18)
更改为 @Config(sdk = 21)
或更高版本。
有效。