我正在尝试在我的 M1 中构建一个项目,
但当我运行时出现此错误npx react-native run-android
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:checkDebugAarMetadata'.
> 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.work:work-runtime:2.7.0-beta01.
AAR metadata file: /Users/macpro/.gradle/caches/transforms-3/999e9d813832e06d8f1b7de52647a502/transformed/work-runtime-2.7.0-beta01/META-INF/com/android/build/gradle/aar-metadata.properties.
Run Code Online (Sandbox Code Playgroud)
Android/build.gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
ext {
buildToolsVersion = "30.0.0"
minSdkVersion = 21
compileSdkVersion = 30
targetSdkVersion = 30
supportLibVersion = "28.0.0"
}
repositories {
google()
jcenter()
}
dependencies {
classpath('com.android.tools.build:gradle:4.1.2')
classpath('com.google.gms:google-services:4.3.0')
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
mavenLocal()
maven {
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
url("$rootDir/../node_modules/react-native/android")
}
maven {
// Android JSC is installed from npm
url("$rootDir/../node_modules/jsc-android/dist")
}
google()
jcenter()
maven { url 'https://www.jitpack.io' }
}
}
Run Code Online (Sandbox Code Playgroud)
gradle-wrapper.properties
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.9-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Run Code Online (Sandbox Code Playgroud)
ham*_*vet 50
导致该错误的原因是您的依赖项之一在内部使用 今天发布的WorkManager 2.7.0-beta01(需要 API 31)。就我而言,是的CheckAarMetadata.kt。
您可以通过强制 Gradle 使用旧版本的 Work Manager 来实现与 API 30 配合使用的传递依赖项来修复此问题。在文件中build.gradle添加:
dependencies {
def work_version = "2.6.0"
// Force WorkManager 2.6.0 for transitive dependency
implementation("androidx.work:work-runtime-ktx:$work_version") {
force = true
}
}
Run Code Online (Sandbox Code Playgroud)
这应该可以解决它。
hum*_*zed 27
这是因为在work-runtime:2.7.0-beta01更新compileSdkVersion到31
你可以更新compileSdkVersion到 31
work-runtime或使用不包含此更改的旧版本
版本的发行说明中提到了2.7.0-beta01
注意:针对 Android 12 (S) 的应用程序需要 WorkManager 版本 2.7.0。
例如,将其添加到您的build.gradle应该修复它
api(group: "androidx.work", name: "work-runtime") {
version {
strictly "2.7.0-alpha04"
}
}
Run Code Online (Sandbox Code Playgroud)
小智 11
我遇到了同样的问题,我可以通过更改依赖项中 appcompat 的版本来解决它:
implementation 'androidx.appcompat:appcompat:1.4.0'
Run Code Online (Sandbox Code Playgroud)
我把它改为:
implementation 'androidx.appcompat:appcompat:1.3.1'
Run Code Online (Sandbox Code Playgroud)
请注意,我使用的是java。
小智 5
我经历了同样的事情,但实际上是由工作管理器依赖性引起的,我升级到版本 2.7.0 我只是将其降级回 2.6.0
dependencies{
implementation 'androidx.work:work-runtime-ktx:2.6.0'
}
Run Code Online (Sandbox Code Playgroud)
小智 5
在我的flutter应用程序中,更改了 android\app\build.gradle 中的compileSdkVersion和targetSdkVersion
android {
compileSdkVersion 31 // Changed to 31
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
defaultConfig {
applicationId "com.example.blah_blah"
minSdkVersion 16
targetSdkVersion 31 //Changed to 31
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}
buildTypes {
release {
// TODO: Add your own signing config for the release build.
// Signing with the debug keys for now, so `flutter run --release` works.
signingConfig signingConfigs.debug
}
}
Run Code Online (Sandbox Code Playgroud)
}
并且,在 android\build.gradle 中将 kotlin 版本更改为“1.6.10”
buildscript {
ext.kotlin_version = '1.6.10' //change here
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:4.1.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
Run Code Online (Sandbox Code Playgroud)
}
| 归档时间: |
|
| 查看次数: |
125587 次 |
| 最近记录: |