Android - App not running. Error : The minCompileSdk specified in a dependency's AAR metadata is greater than this module's compileSdkVersion

Android - App not running. Error : The minCompileSdk specified in a dependency's AAR metadata is greater than this module's compileSdkVersion

一周前该应用 运行ning 完美,但突然之间(没有更新任何内容)该应用不再 运行ning。

当我尝试 运行 应用

时出现此错误

The minCompileSdk (31) specified in a dependency's AAR metadata (META-INF/com/android/build/gradle/aar-metadata.properties) is greater than this module's compileSdkVersion (android-30). Dependency: androidx.work:work-runtime:2.7.0-beta01. AAR metadata file: /home/kishan/.gradle/caches/transforms-2/files-2.1/af85edd7f0482dfc2b2e0c9a0519784e/work-runtime-2.7.0-beta01/META-INF/com/android/build/gradle/aar-metadata.properties.

这是相同的屏幕截图:

从我的应用级别 gradle 文件中,我可以看到我有

compileSdkVersion 30targetSdkVersion 30

不确定是什么导致了这个问题。

如有任何帮助,我们将不胜感激。 谢谢!

保留targetSdkVersion 30,但将compileSdkVersion改为31。

工作管理器 beta 可能也使用 Android SDK 31。

编译 Android SDK 30 时,工作管理器无法编译,因为它使用 Android SDK 31,因此使用 Android 中不存在的新 API ] SDK 30.

编辑

Work Manager 2.7.0 发行说明 explicitly warns 该版本及更高版本仅兼容 API 31.

所以你的选择是:

  • 使用2.6.0,编译API30.
  • 编译 API 31 并尝试处理其他损坏的依赖项 - 也许 Stack Overflow 可以帮助您?

好的,所以我终于解决了这个问题。

这个问题是因为依赖 androidx.work:work-runtime 但我想首先提到我没有直接在我的项目中使用该依赖项(未添加到我的应用程序级别 gradle),可能其他一些依赖项在内部使用它。

所以我所做的就是通过添加这个

强制降级它的版本
configurations.all {
        resolutionStrategy { force 'androidx.work:work-runtime:2.6.0' }
    }

里面

android {
 defaultConfig {
   //here
 }
}

它解决了我的问题。