Ресурсы $ NotFoundException выбрасываются после обновления Gradle Plugin до 3.4.0 - PullRequest
2 голосов
/ 26 апреля 2019

У меня есть проект с несколькими модулями, и после обновления до 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)

Что может вызвать это?Сначала я подозревал, что R8 по умолчанию включен, начиная с 3.4.0, но отключение не помогло.Я очищал проект несколько раз и делал недействительными кеши, и ничего не помогло.

resource ID действительно является ресурсом измерения, как говорится в трассировке стека, и он используется только в макете, который даже не используется.используется в тесте в вопросе.Сбой происходит сразу в тестовой деятельности onCreate().

...