使用EAS CLI构建Expo Android应用时:app:checkReleaseAarMetadata任务失败
执行命令eas build --platform android构建Expo Android应用时,EAS控制台在执行'Ran gradlew'步骤失败,错误日志如下:
[stderr] FAILURE: Build failed with an exception.
[stderr] * What went wrong:
[stderr] Execution failed for task ':app:checkReleaseAarMetadata'.
[stderr] > A failure occurred while executing com.android.build.gradle.internal.tasks.CheckAarMetadataWorkAction
[stderr] > The minCompileSdk (31) specified in a
[stderr] dependency's AAR metadata (META-INF/com/android/build/gradle/aar-metadata.properties)
[stderr] is greater than this module's compileSdkVersion (android-30).
[stderr] Dependency: androidx.browser:browser:1.4.0.
[stderr] AAR metadata file: /home/expo/.gradle/caches/transforms-3/cfea03dc6ed1fbdd623bca4e7a73327b/transformed/browser-1.4.0/META-INF/com/android/build/gradle/aar-metadata.properties.
[stderr] * Try:
[stderr] Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
[stderr] * Get more help at https://help.gradle.org
[stderr] BUILD FAILED in 2m 57s
当前项目android/build.gradle的相关配置:
buildscript { ext { buildToolsVersion = "29.0.3" minSdkVersion = 21 compileSdkVersion = 30 targetSdkVersion = 30 } }
解决步骤
方案1:升级项目编译SDK版本(推荐)
依赖androidx.browser:1.4.0要求最低编译SDK版本为31,需同步升级项目的编译相关配置:
- 修改
android/build.gradle中的ext配置块:buildscript { ext { buildToolsVersion = "31.0.0" minSdkVersion = 21 compileSdkVersion = 31 targetSdkVersion = 31 } } - 重新执行构建命令:
eas build --platform android
方案2:降级依赖版本(临时方案)
若暂时无法升级编译SDK,可强制降级androidx.browser到支持compileSdk30的版本:
- 在
android/build.gradle的allprojects块中添加依赖强制策略:allprojects { configurations.all { resolutionStrategy { force 'androidx.browser:browser:1.3.0' } } } - 重新执行构建命令:
eas build --platform android
内容的提问来源于stack exchange,提问作者epix

