You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Gradle构建报错:useDefaultAndroidSdkVersions()方法不存在等问题求助

解决Gradle 8.3构建Expo Android项目的两个错误

针对你遇到的两个构建错误,以下是具体的解决步骤:

错误1:找不到useDefaultAndroidSdkVersions()方法

这个方法属于旧版Expo模块的API,Gradle 8.x已不再兼容,可通过以下方式解决:

  • 升级Expo SDK及相关依赖:确保项目使用的Expo SDK版本支持Gradle 8.x(推荐SDK 50及以上)。执行expo upgrade自动升级,或手动修改package.json中的expo、@expo/config-plugins等依赖版本后,重新运行npm install。
  • 替换为显式SDK版本配置:如果暂时无法升级SDK,直接修改/home/expo/workingdir/build/android/expo-application/build.gradle文件,将第10行的useDefaultAndroidSdkVersions()替换为具体的SDK版本配置,示例:
    android {
        compileSdkVersion 34
        defaultConfig {
            minSdkVersion 21
            targetSdkVersion 34
        }
    }
    

错误2:无法获取SoftwareComponent容器的release属性

这是Gradle 8.x对SoftwareComponent API的改动导致的,旧版ExpoModulesCore插件未适配,解决方案:

  • 升级Expo Modules Core:通过升级Expo SDK即可同步更新该插件,这是最彻底的解决方式。
  • 手动修改插件代码:若升级SDK后仍存在问题,打开ExpoModulesCorePlugin.gradle文件,找到第65行,将原来的components.release修改为components.findByName("release"),适配Gradle 8.x的API规范。

最后清理缓存重新构建

完成上述调整后,执行以下命令清理缓存并重新构建:

cd /home/expo/workingdir/build/android
./gradlew clean
./gradlew :app:assembleRelease

同时可以清理Expo项目缓存:expo r -c

内容的提问来源于stack exchange,提问作者Kamal Nath

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 13:26:08