1
私が行っているチームでは、最終的にAppCompatが導入されていますが、テストスイートはアップグレード後に失敗します。不明なリソース0:AppCompatにアップグレードするとRobolectricがShareActionProviderで失敗する
コマンドラインからテストスイートを実行しているときに、いくつかのテストで問題が発生しました。
Androidスタジオから個別に実行すると、それらは合格します。
私がスタックトレースについて興味深いのは、ツールバーの共有アイコンをまったく使用していないときにShareActionProviderへの参照があることです。以下
スタックトレース:
android.content.res.Resources$NotFoundException: unknown resource 0
at org.robolectric.shadows.ShadowAssetManager.getAndResolve(ShadowAssetManager.java:384)
at org.robolectric.shadows.ShadowAssetManager.getResourceValue(ShadowAssetManager.java:129)
at android.content.res.AssetManager.getResourceValue(AssetManager.java)
at android.content.res.Resources.getValue(Resources.java:1347)
at android.support.v7.widget.AppCompatDrawableManager.createDrawableIfNeeded(AppCompatDrawableManager.java:226)
at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:199)
at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:192)
at android.support.v7.widget.ShareActionProvider.onCreateActionView(ShareActionProvider.java:229)
at android.support.v4.view.ActionProvider.onCreateActionView(ActionProvider.java:166)
at android.support.v7.view.menu.MenuItemImpl.getActionView(MenuItemImpl.java:630)
at android.support.v7.widget.ActionMenuPresenter.getItemView(ActionMenuPresenter.java:190)
at android.support.v7.widget.ActionMenuPresenter.flagActionItems(ActionMenuPresenter.java:451)
at android.support.v7.view.menu.MenuBuilder.flagActionItems(MenuBuilder.java:1138)
at android.support.v7.view.menu.BaseMenuPresenter.updateMenuView(BaseMenuPresenter.java:91)
at android.support.v7.widget.ActionMenuPresenter.updateMenuView(ActionMenuPresenter.java:229)
at android.support.v7.view.menu.MenuBuilder.dispatchPresenterUpdate(MenuBuilder.java:284)
at android.support.v7.view.menu.MenuBuilder.onItemsChanged(MenuBuilder.java:1030)
at android.support.v7.view.menu.MenuBuilder.startDispatchingItemsChanged(MenuBuilder.java:1053)
at android.support.v7.app.ToolbarActionBar.populateOptionsMenu(ToolbarActionBar.java:460)
at android.support.v7.app.ToolbarActionBar$1.run(ToolbarActionBar.java:61)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)