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

Expo安装报错:Unresolved reference: expo 技术求助

Expo 安装失败:MainActivity.kt 无法解析 expo 引用

问题详情

  • 自动安装Expo时,MainActivity.kt文件出现导入和顶层声明错误
  • 手动添加代码import expo.modules.ReactActivityDelegateWrapper后,触发Unresolved reference: expo错误
  • 相同操作在朋友电脑上可正常运行,同步环境版本后问题仍未解决,已尝试网络搜索及Expo Discord求助,均无有效结果

构建日志

C:\Users\dberk\GitHub\tebfaktoring> yarn run aos:prod
yarn run v1.22.22
$ SET ENVFILE=.env.production && react-native run-android --mode=productionDebug --appIdSuffix=production
警告:包 rn-fetch-blob 包含无效配置:"dependency.hooks" 不被允许。请使用 "npx react-native config" 命令验证其是否正确链接,并联系包维护者解决此问题。
信息:此项目的开发服务器已在端口8081运行。
信息:正在安装应用...

> 配置项目 :app
从 .env.production 读取环境变量 

> 配置项目 :notifee_react-native
:notifee_react-native @notifee/react-native 位于 C:\Users\dberk\GitHub\tebfaktoring\node_modules\@notifee\react-native
:notifee_react-native package.json 位于 C:\Users\dberk\GitHub\tebfaktoring\node_modules\@notifee\react-native\package.json
:notifee_react-native:版本从package.json设置为7.8.2 (7,8,2 - 7008002)
:notifee_react-native:android.compileSdk 使用自定义值:34
:notifee_react-native:android.targetSdk 使用自定义值:34
:notifee_react-native:android.minSdk 使用自定义值:21
:notifee_react-native:reactNativeAndroidDir C:\Users\dberk\GitHub\tebfaktoring\node_modules\react-native\android

> 配置项目 :react-native-firebase_app
:react-native-firebase_app package.json 位于 C:\Users\dberk\GitHub\tebfaktoring\node_modules\@react-native-firebase\app\package.json
:react-native-firebase_app:firebase.bom 使用默认值:32.8.1
:react-native-firebase_app:play.play-services-auth 使用默认值:21.0.0
:react-native-firebase_app package.json 位于 C:\Users\dberk\GitHub\tebfaktoring\node_modules\@react-native-firebase\app\package.json
:react-native-firebase_app:版本从package.json设置为19.2.2 (19,2,2 - 19002002)
:react-native-firebase_app:android.compileSdk 使用自定义值:34
:react-native-firebase_app:android.targetSdk 使用自定义值:34
:react-native-firebase_app:android.minSdk 使用自定义值:21
:react-native-firebase_app:reactNativeAndroidDir C:\Users\dberk\GitHub\tebfaktoring\node_modules\react-native\android

> 配置项目 :react-native-firebase_database
:react-native-firebase_database package.json 位于 C:\Users\dberk\GitHub\tebfaktoring\node_modules\@react-native-firebase\database\package.json
:react-native-firebase_app package.json 位于 C:\Users\dberk\GitHub\tebfaktoring\node_modules\@react-native-firebase\app\package.json
:react-native-firebase_database:firebase.bom 使用默认值:32.8.1
:react-native-firebase_database package.json 位于 C:\Users\dberk\GitHub\tebfaktoring\node_modules\@react-native-firebase\database\package.json
:react-native-firebase_database:版本从package.json设置为19.2.2 (19,2,2 - 19002002)
:react-native-firebase_database:android.compileSdk 使用自定义值:34
:react-native-firebase_database:android.targetSdk 使用自定义值:34
:react-native-firebase_database:android.minSdk 使用自定义值:21
:react-native-firebase_database:reactNativeAndroidDir C:\Users\dberk\GitHub\tebfaktoring\node_modules\react-native\android

> 配置项目 :react-native-firebase_messaging
:react-native-firebase_messaging package.json 位于 C:\Users\dberk\GitHub\tebfaktoring\node_modules\@react-native-firebase\messaging\package.json
:react-native-firebase_app package.json 位于 C:\Users\dberk\GitHub\tebfaktoring\node_modules\@react-native-firebase\app\package.json
:react-native-firebase_messaging:firebase.bom 使用默认值:32.8.1
:react-native-firebase_messaging package.json 位于 C:\Users\dberk\GitHub\tebfaktoring\node_modules\@react-native-firebase\messaging\package.json
:react-native-firebase_messaging:版本从package.json设置为19.2.2 (19,2,2 - 19002002)
:react-native-firebase_messaging:android.compileSdk 使用自定义值:34
:react-native-firebase_messaging:android.targetSdk 使用自定义值:34
:react-native-firebase_messaging:android.minSdk 使用自定义值:21
:react-native-firebase_messaging:reactNativeAndroidDir C:\Users\dberk\GitHub\tebfaktoring\node_modules\react-native\android

> 配置项目 :react-native-reanimated
Android Gradle插件:8.1.1
Gradle:8.3

> 配置项目 :react-native-vision-camera
[VisionCamera] 感谢使用VisionCamera ??
[VisionCamera] node_modules 位于 C:\Users\dberk\GitHub\tebfaktoring\node_modules
[VisionCamera] VisionCamera_enableFrameProcessors 设置为true!
[VisionCamera] 未找到react-native-worklets-core,帧处理器已禁用!
[VisionCamera] VisionCamera_enableCodeScanner 设置为true!
警告:指定的Android SDK Build Tools版本(33.0.0)被忽略,因为它低于Android Gradle Plugin 8.1.1支持的最低版本(33.0.1)。
将使用Android SDK Build Tools 33.0.1。
要抑制此警告,请从build.gradle文件中移除"buildToolsVersion '33.0.0'",因为每个版本的Android Gradle Plugin现在都有默认的构建工具版本。
正在检查C:\Users\dberk\AppData\Local\Android\Sdk\licenses中Android SDK Platform 33的许可证
已接受Android SDK Platform 33的许可证。
准备"安装Android SDK Platform 33(修订版3)"。
"安装Android SDK Platform 33(修订版3)"已就绪。
正在将Android SDK Platform 33安装到C:\Users\dberk\AppData\Local\Android\Sdk\platforms\android-33
"安装Android SDK Platform 33(修订版3)"完成。
"安装Android SDK Platform 33(修订版3)"结束。

> 任务 :app:compileProductionDebugKotlin 失败

构建中使用了已弃用的Gradle功能,导致其与Gradle 9.0不兼容。

可以使用'--warning-mode all'显示单个弃用警告,以确定它们来自您自己的脚本还是插件。
453个可执行任务:7个已执行,446个最新

提示:请确保已正确设置开发环境,可运行npx react-native doctor进行检查。

e: file:///C:/Users/dberk/GitHub/tebfaktoring/android/app/src/main/java/com/tebfaktoring/MainActivity.kt:2:8 无法解析引用:expo

构建失败,出现异常。

* 错误原因:
任务':app:compileProductionDebugKotlin'执行失败。
> 执行org.jetbrains.kotlin.compilerRunner.GradleCompilerRunnerWithWorkers$GradleKotlinCompilerWorkAction时发生失败
   > 编译错误。请查看日志获取更多详细信息

* 尝试解决:
> 使用--stacktrace选项获取堆栈跟踪。
> 使用--info或--debug选项获取更多日志输出。
> 使用--scan选项获取完整洞察。

构建耗时27秒
错误:应用安装失败。命令执行失败,退出代码1:gradlew.bat app:installProductionDebug -PreactNativeDevServerPort=8081
e: file:///C:/Users/dberk/GitHub/tebfaktoring/android/app/src/main/java/com/tebfaktoring/MainActivity.kt:2:8 无法解析引用:expo 构建失败,出现异常。* 错误原因:任务':app:compileProductionDebugKotlin'执行失败。> 执行org.jetbrains.kotlin.compilerRunner.GradleCompilerRunnerWithWorkers$GradleKotlinCompilerWorkAction时发生失败> 编译错误。请查看日志获取更多详细信息* 尝试解决:> 使用--stacktrace选项获取堆栈跟踪。> 使用--info或--debug选项获取更多日志输出。> 使用--scan选项获取完整洞察。构建耗时27秒。
信息:使用--verbose标志运行CLI获取更多详细信息。
错误:命令执行失败,退出代码1。
PS C:\Users\dberk\GitHub\tebfaktoring>

排查方案

  1. 确认Expo依赖安装状态
    执行yarn add expo确保依赖已正确添加,然后清理缓存并重新安装:
    yarn cache clean
    yarn install
    
  2. 检查Android Gradle配置
    • 打开android/build.gradle,确认已添加Expo的Maven仓库:
      allprojects {
        repositories {
          // 其他仓库
          maven { url 'https://maven.expo.dev' }
        }
      }
      
    • 确认android/app/build.gradle中已应用Expo插件(如果使用自动配置)
  3. 清理构建缓存并重新编译
    在项目的android目录下执行:
    ./gradlew clean
    ./gradlew assembleProductionDebug
    
  4. 验证MainActivity.kt代码完整性
    确保代码结构正确,示例如下:
    import android.os.Bundle
    import com.facebook.react.ReactActivity
    import expo.modules.ReactActivityDelegateWrapper
    
    class MainActivity : ReactActivity() {
      override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(null)
      }
    
      override fun createReactActivityDelegate() = ReactActivityDelegateWrapper(
        this,
        BuildConfig.IS_NEW_ARCHITECTURE_ENABLED,
        ::MainApplication
      )
    }
    
  5. 检查构建模式配置
    确认生产构建模式下未排除Expo相关依赖,.env.production中无影响依赖加载的配置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 03:15:54