Expo SDK 54本地开发客户端Android构建失败求助
Expo SDK 54 本地Android构建报错:Cannot query the value of this provider because it has no value available
执行npx expo run android构建Expo SDK 54本地开发客户端时出现以下错误,已安装最新Android Studio及SDK 54推荐的Java 17,构建前已清理node-modules及Android构建文件,直接用Android Studio或Gradle构建也报错。
ℹ️ Applying gradle plugin 'expo-dev-launcher-gradle-plugin' > Configure project : [ExpoRootProject] Using the following versions: - buildTools: 36.0.0 - minSdk: 24 - compileSdk: 36 - targetSdk: 36 - ndk: 27.1.12297006 - kotlin: 2.1.20 - ksp: 2.1.20-2.0.1 FAILURE: Build failed with an exception. * What went wrong: Could not determine the dependencies of task ':app:compileDebugJavaWithJavac'. > Cannot query the value of this provider because it has no value available.
该问题在全新Expo模板项目中可复现,非自定义代码问题,npx expo-doctor未检测到异常,复现步骤:
❯ npx create-expo-app@latest myTest ❯ cd myTest ❯ npx expo install expo-dev-client ❯ npx expo prebuild -p android --clean ❯ npx expo run:android --no-build-cache
环境信息
Gradle版本
❯ ./android/gradlew --version ------------------------------------------------------------ Gradle 8.14.3 ------------------------------------------------------------ Build time: 2025-07-04 13:15:44 UTC Revision: e5ee1df3d88b8ca3a8074787a94f373e3090e1db Kotlin: 2.0.21 Groovy: 3.0.24 Ant: Apache Ant(TM) version 1.10.15 compiled on August 25 2024 Launcher JVM: 17.0.16 (Azul Systems, Inc. 17.0.16+8-LTS) Daemon JVM: /Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home (no JDK specified, using current Java home) OS: Mac OS X 26.0.1 x86_64
Expo环境信息
❯ npx expo-env-info expo-env-info 2.0.7 environment info: System: OS: macOS 26.0.1 Shell: 5.9 - /bin/zsh Binaries: Node: 23.10.0 - /usr/local/bin/node Yarn: 4.10.3 - /usr/local/bin/yarn npm: 11.5.2 - ~/.npm-global/bin/npm Watchman: 2025.03.10.00 - /usr/local/bin/watchman Managers: CocoaPods: 1.16.2 - /usr/local/bin/pod SDKs: iOS SDK: Platforms: DriverKit 25.0, iOS 26.0, macOS 26.0, tvOS 26.0, visionOS 26.0, watchOS 26.0 Android SDK: API Levels: 35, 36, 36 Build Tools: 35.0.0, 36.0.0, 36.1.0 System Images: android-35 | Google Play Intel x86_64 Atom, android-36.1 | Google Play Intel x86_64 Atom IDEs: Android Studio: 2025.1 AI-251.26094.121.2513.14007798 Xcode: 26.0.1/17A400 - /usr/bin/xcodebuild npmPackages: expo: ~54.0.12 => 54.0.12 expo-router: ~6.0.10 => 6.0.10 react: 19.1.0 => 19.1.0 react-dom: 19.1.0 => 19.1.0 react-native: 0.81.4 => 0.81.4 react-native-web: ~0.21.0 => 0.21.1 npmGlobalPackages: eas-cli: 16.20.2 Expo Workflow: bare
解决方案尝试
- 调整Kotlin版本:日志中使用的Kotlin 2.1.20与Gradle 8.14.3自带的Kotlin 2.0.21存在版本冲突,修改
android/build.gradle中的ext.kotlin_version为2.0.21,同步后重新构建。 - 指定JDK路径:在
android/gradle.properties中添加org.gradle.java.home=/Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home,确保Gradle Daemon使用指定的JDK 17。 - 降级Gradle版本:修改
android/gradle/wrapper/gradle-wrapper.properties中的distributionUrl为https\://services.gradle.org/distributions/gradle-8.10.2-all.zip,使用Expo SDK 54更兼容的Gradle版本。 - 更新expo-dev-client:执行
npx expo install expo-dev-client@latest,安装与SDK 54兼容的最新版本开发客户端。
内容的提问来源于stack exchange,提问作者Behnam Kamrani
相关产品推荐
相关产品推荐

