【问题标题】:Android Studio dependency(?) problem while trying to learn JUnit testing - Beginner here尝试学习 JUnit 测试时出现 Android Studio 依赖(?)问题 - 初学者在这里
【发布时间】:2022-01-23 22:03:59
【问题描述】:

我正在为期 12 个月的在线学习中学习 Android 开发。在基础知识之后,我的实际主题是调试。我按照我的学习材料开始了第一个简单的 JUnit 测试。我创建了本月书中提到的运行/调试配置(即使布局发生了一些变化)。 然后我只运行了 JUnit 配置。不幸的是,我得到了一堆错误:


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.appcompat:appcompat:1.4.1.
AAR metadata file: C:\Users\there\.gradle\caches\transforms-3\7c35e9ced6058ee9ee419dce8130dd8e\transformed\appcompat-1.4.1\META-INF\com\android\build\gradle\aar-metadata.properties.

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.appcompat:appcompat-resources:1.4.1.
AAR metadata file: C:\Users\there\.gradle\caches\transforms-3\356e9ba54d02d4f62b341e20ec0fc392\transformed\jetified-appcompat-resources-1.4.1\META-INF\com\android\build\gradle\aar-metadata.properties.

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.emoji2:emoji2-views-helper:1.0.0.
AAR metadata file: C:\Users\there\.gradle\caches\transforms-3\3c5e58b62ef26f85c19a76a46373f767\transformed\jetified-emoji2-views-helper-1.0.0\META-INF\com\android\build\gradle\aar-metadata.properties.

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.emoji2:emoji2:1.0.0.
AAR metadata file: C:\Users\there\.gradle\caches\transforms-3\86bbdb4c704f0c6ef69f85fd6941d5d8\transformed\jetified-emoji2-1.0.0\META-INF\com\android\build\gradle\aar-metadata.properties.

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.core:core:1.7.0.
AAR metadata file: C:\Users\there\.gradle\caches\transforms-3\fb3270031bd107031c21c5dc13d9e5ef\transformed\core-1.7.0\META-INF\com\android\build\gradle\aar-metadata.properties.

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.lifecycle:lifecycle-process:2.4.0.
AAR metadata file: C:\Users\there\.gradle\caches\transforms-3\60fb03f7868607ff1baa13fa3ab998ab\transformed\jetified-lifecycle-process-2.4.0\META-INF\com\android\build\gradle\aar-metadata.properties.

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.lifecycle:lifecycle-runtime:2.4.0.
AAR metadata file: C:\Users\there\.gradle\caches\transforms-3\f5b1cf69ca8682e4d6b881300287a614\transformed\lifecycle-runtime-2.4.0\META-INF\com\android\build\gradle\aar-metadata.properties.

我没有更改任何设置或其他内容。我现在太了解配置文件了。 我试图通过谷歌找到解决方案。所以我试图打开“模块设置”。转到“依赖项”并将选项“core-ktx”从 1.7 更改为 1.6。之后我重建项目。但什么都没有改变。

有人会这么好心地向我解释这个问题并建议我一个解决方案吗?我可以而且可能会联系我的课程“远程老师”,因为如果不解决这个问题我就无法继续。但是等待答案可能需要更长的时间,我想继续。

非常感谢!

最好的问候!

【问题讨论】:

  • 我将 gradle 文件中的编译和目标 SDK 从 30 更改为 31 + 重建项目。 SDK 31 已安装,现在正在运行。在更新后的 Android Studio 中的一个干净的新项目中,仍然没有真正理解这种冲突来自何处。

标签: android android-studio gradle junit


【解决方案1】:

如错误所说,依赖项(此处为:androidx.appcompat:appcompat:1.4.1)需要至少 31 个 SDK。

您的项目似乎至少需要 SDK 30。

两者之间的冲突是因为设备带有SDK 30。例如它们将使用30运行,依赖可以运行,因为它是在较新的版本中。

由于向后兼容性,允许相反的情况。这就是为什么有些人用非常低的 SDK 制作 API 的原因,就是为了防止这类问题。

要解决这个问题,您可以:

  1. 继续使用 SDK 30,找到需要 SDK 30 而不是 31 的旧版本。1.4.0 似乎可以做到这一点,因此您可以使用 androidx.appcompat:appcompat:1.4.0
  2. 至少使用 SDK 31 作为最低编译 SDK。这会破坏一些设备支持,但也允许您使用一些新功能。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-03
    • 2023-02-21
    • 2015-09-15
    • 1970-01-01
    • 1970-01-01
    • 2020-09-29
    • 1970-01-01
    相关资源
    最近更新 更多