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

从Expo托管工作流Eject后Android构建失败,请求解决

Expo Eject后Android构建失败的解决方案

问题诊断

你的构建失败包含两类核心问题:

  1. Kotlin Gradle插件在:expo和:expo-modules-core子项目中重复加载,违反Gradle插件加载规范
  2. BuildConfig和R类无法找到,说明Android编译生成的辅助类未正确生成或引用

解决方案

1. 统一Kotlin Gradle插件版本,避免重复加载

修改项目根目录的build.gradle文件(不是app模块下的):

// 根目录build.gradle
plugins {
    id 'com.android.application' version '7.4.2' apply false
    id 'com.android.library' version '7.4.2' apply false
    id 'org.jetbrains.kotlin.android' version '1.8.22' apply false // 统一指定版本并添加apply false
}

随后检查:expo和:expo-modules-core子项目的build.gradle,移除其中指定Kotlin插件版本的代码,改为仅引用插件id:

// 子项目(如expo/build.gradle)中的plugins块修改为:
plugins {
    id 'org.jetbrains.kotlin.android' // 不要添加version参数
}

2. 修复BuildConfig和R类找不到的问题

  • 执行Gradle同步:在终端进入android目录后执行:
    ./gradlew clean
    ./gradlew sync
    
  • 检查app模块的build.gradle中,applicationId是否与MainApplication.java、MainActivity.java的包名一致(你的包名为com.rahulkumarmbd.FavouritePlaces):
    // app/build.gradle
    android {
        defaultConfig {
            applicationId "com.rahulkumarmbd.FavouritePlaces"
            // 其他配置...
        }
    }
    
  • 确认MainApplication.java和MainActivity.java的顶部包名声明正确:
    package com.rahulkumarmbd.FavouritePlaces;
    
  • 执行清理构建:
    cd android
    ./gradlew clean build
    

3. 重新执行Expo构建

完成上述配置后,回到项目根目录执行:

expo run:android

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 03:47:49