네이티브 Java 또는 Kotlin에서 "의존관계 AAR 메타데이터에 지정된 minCompileSdk(31)" 오류를 해결하려면 어떻게 해야 합니까?
오류 메시지:
종속성의 AAR 메타데이터(META-INF/com/android/build/gradle/aar-metadata.properties)에 지정된 minCompileSdk(31)가 이 모듈의 compileSdkVersion(android-30)보다 큽니다.의존관계: Androidx.core:core-ktx:1.7.0-alpha02.
AAR 메타데이터 파일:
C:\사용자\mahammad.zeeshan1.gradle 2\files-2.1\a20beb0771f59a8dbb8d416ea06a9d\jetized-core-1.7.0-alpha02\META-INF\com\android\build\gradle\aar-metadata.properties.
둘 다 설정compileSdkVersion
그리고.targetSdkVersion
로.31
당신의 안에서build.gradle(app)
파일.
android {
compileSdkVersion 31 // <-- This
defaultConfig {
applicationId "com.example.app"
targetSdkVersion 31 // <-- and this too
// ...
}
}
해결책을 찾았습니다.앱 Gradle 파일의 패키지 위에 이 코드 줄을 입력하십시오.
Kotlin 개발자의 경우:
configurations.all {
resolutionStrategy { force 'androidx.core:core-ktx:1.6.0' }
}
Java 개발자용
configurations.all {
resolutionStrategy { force 'androidx.core:core:1.6.0' }
}
이 문제는 다음을 선언하는 라이브러리에서 가장 많이 볼 수 있습니다.
implementation androidx.core:core-ktx:1.7.0-beta01
그minCompileSdk
31이지만minSdkVersion
현저하게 낮습니다.의 증가compileSdk
문제를 해결하기에 충분합니다.덮어쓸 필요도 없고, 심지어 이 명령어를 변경할 필요도 없습니다.targetSdk
.
android {
compileSdk 31
...
}
마침내, 나는 내 문제를 해결할 수 있다.
뭐가 문제였나요?
하나의 모듈에서는 다음과 같은 의존관계가 있었습니다.
implementation "androidx.core:core-ktx:+"
그러나 앱 모듈을 포함한 다른 모듈들은 다음과 같은 종속성을 가지고 있었다.
implementation "androidx.core:core-ktx:1.6.0"
변환중
implementation "androidx.core:core-ktx:+"
로.
implementation "androidx.core:core-ktx:1.6.0"
내 문제를 해결했다.
컴파일 SDK를 31로 업데이트해야 합니다.현재 30으로 설정되어 있는 것 같습니다.그래들 파일에는 다음과 같은 것이 있어야 합니다.compileSdk
에서android
차단합니다.
그것을 31로 올려라.이것이 어떤 이유로 문제가 된다면 SDK 버전을 컴파일할 필요가 없는 버전으로 종속성을 낮출 수도 있습니다.
Jetpack Compose 내비게이션 사용 시 이 문제가 발생하였습니다.
사용하고 있었습니다.androidx.navigation:navigation-compose:2.4.0-alpha07
그래서 다른 버전을 사용하여 해결했습니다.
`androidx.navigation:navigation-compose:2.4.0-alpha06`
며칠 전에 작동하던 리액션 네이티브 프로젝트에서 이 문제가 발생했는데 갑자기 다음과 같은 오류가 발생합니다.
* What went wrong:
Execution failed for task ':app:checkDevDebugAarMetadata'.
> Multiple task action failures occurred:
> A failure occurred while executing com.android.build.gradle.internal.tasks.CheckAarMetadataWorkAction
> 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-ktx:1.7.0-alpha02.
AAR metadata file: /Users/me/.gradle/caches/transforms-2/files-2.1/ed22ee8b86d25659bbef1e9ee203b75c/jetified-core-ktx-1.7.0-alpha02/META-INF/com/android/build/gradle/aar-metadata.properties.
> A failure occurred while executing com.android.build.gradle.internal.tasks.CheckAarMetadataWorkAction
> 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-alpha02.
AAR metadata file: /Users/me/.gradle/caches/transforms-2/files-2.1/23234efc7e9de9bfe6a3fea85a6072ef/core-1.7.0-alpha02/META-INF/com/android/build/gradle/aar-metadata.properties.
에러 메시지를 읽고, 문제가 다음과 같은 것을 알았습니다.androidx.core:core-ktx
그래서 나는 그것에 대해 더 검색했고 새로운 버전이 지난 9월 https://androidx.tech/artifacts/core/core-ktx/ 라는 것을 발견했다. https://androidx.tech/artifacts/core/ktx/1.7.0-alpha02.targetSdkVersion = 31
나는 달렸다grep -r "androidx.core:core-ktx" node_modules
제겐 한 가지 의존관계가 있는데implementation "androidx.core:core-ktx:+"
앱 설치 시 최신 버전이 설치됩니다.31로 업데이트하면 일부 종속성의 코드가 깨지는 것 같기 때문에 업데이트할 수 없습니다.
unrecognized Attribute name MODULE (class com.sun.tools.javac.util.SharedNameTable$NameImpl)
어떻게 고쳐야 할지 모르겠고 단서도 찾을 수 없어요 아마 새 제품이라서 그럴 거예요
회피책으로 파일에 저장android/app/build.gradle
앞에 다음 블록을 추가합니다.android {}
차단합니다.
configurations.all {
resolutionStrategy { force 'androidx.core:core-ktx:1.7.0-alpha01' }
}
이렇게 하고 나니 효과가 있었어요.그것은 모든 것을 강요할 것이다.androidx.core:core-ktx
되려고1.7.0-alpha01
같은 문제가 발생했는데 라이프 사이클 라이브러리에서 문제가 발생했다는 것을 알게 되었습니다.
베타 버전부터 바꿨는데
Androidx.disp:flash-lifeata:2.4.0 1 1
현재 안정적인 버전으로,
Androidx.disp:flash-lifeata:2.3.1
언급URL : https://stackoverflow.com/questions/69034879/how-can-i-resolve-the-error-the-mincompilesdk-31-specified-in-a-dependencys
'programing' 카테고리의 다른 글
이것이 Vue.js 컴포넌트에서 ID를 설정하는 올바른 방법입니까? (0) | 2022.07.16 |
---|---|
왜 GCC 컴파일된 C 프로그램에 .eh_frame 섹션이 필요한가? (0) | 2022.07.16 |
Java EE 웹 응용 프로그램에서 WEB-INF는 무엇에 사용됩니까? (0) | 2022.07.16 |
intr_t의 용도는 무엇입니까? (0) | 2022.07.16 |
메서드 자체에 의해 값이 변경되었을 때 vuejs 워치 메서드의 트리거를 정지할 수 있는 방법이 있습니까? (0) | 2022.07.16 |