将Gradle插件更新为3.4.0后抛出Resources $ NotFoundException

时间:2019-04-26 07:21:25

标签: android gradle android-gradle android-studio-3.4

我有一个包含多个模块的项目,并且在更新到Gradle Plugin 3.4.0和Gradle 5.1.1之后,其他所有功能似乎都可以正常运行,但是用于Espresso测试的模块在尝试运行测试时立即崩溃:

android.content.res.Resources$NotFoundException: Drawable com.example.foo:dimen/activity_default_margin with resource ID #0x7f070059
Caused by: android.content.res.Resources$NotFoundException: Resource "com.example.foo:dimen/activity_default_margin" (7f070059) is not a Drawable (color or path): TypedValue{t=0x5/d=0x3201 a=2 r=0x7f070059}
  at android.content.res.ResourcesImpl.loadDrawableForCookie(ResourcesImpl.java:786)
  at android.content.res.ResourcesImpl.loadDrawable(ResourcesImpl.java:631)
  at android.content.res.Resources.getDrawableForDensity(Resources.java:888)
  at android.content.res.Resources.getDrawable(Resources.java:827)
  at android.content.Context.getDrawable(Context.java:626)
  at android.support.v4.content.ContextCompat.getDrawable(ContextCompat.java:463)
  at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:203)
  at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:191)
  at android.support.v7.widget.AppCompatDrawableManager.checkVectorDrawableSetup(AppCompatDrawableManager.java:753)
  at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:196)
  at android.support.v7.widget.TintTypedArray.getDrawableIfKnown(TintTypedArray.java:86)
  at android.support.v7.app.AppCompatDelegateImpl.<init>(AppCompatDelegateImpl.java:260)
  at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:182)
  at android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:520)
  at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:71)
  at com.example.foo.BaseActivity.onCreate(BaseActivity.java:160)

这可能导致什么?我首先怀疑它是从3.4.0开始默认启用R8的,但是禁用它根本没有帮助。我已经多次清理了该项目并使缓存无效,没有任何帮助。

资源ID实际上是一个堆栈资源,正如它在堆栈跟踪中所说的那样,它仅在布局中使用,甚至在所涉及的测试中也没有使用。崩溃立即在测试活动的onCreate()中发生。

0 个答案:

没有答案