【问题标题】:Incorrect configuration. Please configure your build for VectorDrawableCompat with Gradle 7.0.2配置不正确。请使用 Gradle 7.0.2 为 VectorDrawableCompat 配置您的构建
【发布时间】:2022-01-08 07:30:43
【问题描述】:

我之前运行的应用程序突然在我的 LaunchActivity 中崩溃:Please configure your build for VectorDrawableCompat。 Gradle 7.0.2 正在发生这种情况,这没有意义,因为有关此问题的其他帖子来自 3 年前,并建议更新到 gradle 2.0+(更老)并使用最新的 android 支持库(即现在与 androidx 无关)。他们还建议设置vectorDrawables.useSupportLibrary = true,这在我的应用程序中已经存在。所以这些帖子与我的问题无关。

  • minSdkVersion 21
  • targetSdkVersion 31
  • vectorDrawables.useSupportLibrary = true
  • 类路径'com.android.tools.build:gradle:7.0.2'
  • 实现'androidx.appcompat:appcompat:1.2.0'

奇怪的是,这在我切换到另一个分支后开始在我的 master 上发生,然后在一个月后返回到我的 master 分支。但是,主分支根本不应该发生变化,而且它之前一定一直在工作,因为我在上个月从它那里删除了一个生产版本,并且生产版本没有崩溃。

Caused by: java.lang.IllegalStateException: This app has been built with an incorrect configuration. Please configure your build for VectorDrawableCompat.
      at androidx.appcompat.widget.ResourceManagerInternal.checkVectorDrawableSetup(ResourceManagerInternal.java:495)
      at androidx.appcompat.widget.ResourceManagerInternal.getDrawable(ResourceManagerInternal.java:140)
      at androidx.appcompat.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:480)
      at androidx.appcompat.widget.TintTypedArray.getDrawableIfKnown(TintTypedArray.java:93)
      at androidx.appcompat.app.AppCompatDelegateImpl.attachToWindow(AppCompatDelegateImpl.java:797)
      at androidx.appcompat.app.AppCompatDelegateImpl.ensureWindow(AppCompatDelegateImpl.java:773)
      at androidx.appcompat.app.AppCompatDelegateImpl.onCreate(AppCompatDelegateImpl.java:501)
      at androidx.appcompat.app.AppCompatActivity$2.onContextAvailable(AppCompatActivity.java:131)
      at androidx.activity.contextaware.ContextAwareHelper.dispatchOnContextAvailable(ContextAwareHelper.java:99)
      at androidx.activity.ComponentActivity.onCreate(ComponentActivity.java:297)
      at androidx.fragment.app.FragmentActivity.onCreate(FragmentActivity.java:273)
      at com.somewearlabs.sw.ui.LaunchActivity.onCreate(LaunchActivity.kt:14)
      at android.app.Activity.performCreate(Activity.java:7963)
      at android.app.Activity.performCreate(Activity.java:7952)
      at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1307)

【问题讨论】:

    标签: android gradle


    【解决方案1】:

    我终于解决了这个问题。当我在 Android Studio 中检查崩溃时,单击文件/行号链接(例如“ResourceManagerInternal.java:495”)为该类打开了两个选项,一个在 appcompat 库版本 1.2.01.3.0 .我的依赖项中必须使用两个版本,即使在我所有项目的 build.gradle 文件中都明确声明了androidx.appcompat:appcompat:1.2.0。使用断点表明 1.3.0 中的行在启动应用程序时被调用。

    然后我做了 File > Invalidate Caches and Restart

    我认为确保项目中只使用一个版本的 appcompat 可能会解决问题,所以我将所有 build.gradle 文件从使用 androidx.appcompat:appcompat 1.2.0 切换到 1.3.0强>。重新同步/构建后,崩溃消失了。我不知道为什么这个崩溃首先开始发生 - 如果有人可以对此有所了解 - 但无论如何我需要更新 appcompat 依赖项所以它解决了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多