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

使用Expo Go开发Android小组件遇阻,能否继续使用Expo Go?

关于Expo Go开发Android小组件的问题解答

核心结论

你确实无法在Expo Go中使用Android小组件相关的原生依赖包。Expo Go是预构建的通用客户端,仅支持Expo官方维护的、无需原生修改的库;而react-native-android-widget需要修改Android原生项目配置(比如添加AppWidgetProvider、资源文件等),这类依赖必须通过自定义原生客户端才能运行,Expo Go不支持。

保留快速调试的解决方案

不用完全放弃Expo的快速开发体验,推荐用Expo Dev Client(自定义开发客户端),这是官方推荐的支持原生依赖的开发方式,步骤如下:

  1. 安装Expo Dev Client

    npx expo install expo-dev-client
    
  2. 确认插件配置
    在app.json或app.config.js中,确保react-native-android-widget已添加到plugins数组:

    {
      "expo": {
        "plugins": ["react-native-android-widget"]
      }
    }
    
  3. 构建自定义开发客户端
    执行以下命令生成安卓端的自定义开发客户端,第一次构建会生成原生项目文件(.android目录):

    npx expo run:android
    

    构建完成后,客户端会安装到你的测试设备/模拟器上,后续开发时直接打开这个客户端即可。

  4. 日常开发流程

    • 修改JS/TS代码时,依然可以使用热重载(r键)、远程调试等Expo Go熟悉的功能
    • 若修改了原生相关配置(比如小组件布局、权限),需要重新执行npx expo run:android更新客户端

备选方案:分离开发流程

如果你的小组件逻辑和主应用耦合度不高,可以拆分开发:

  • 主应用核心逻辑继续用Expo Go快速开发,暂时注释掉小组件相关代码和依赖
  • 调试小组件时,切换到自定义开发客户端(按上述步骤构建),专门测试小组件功能

不推荐的方案:完全Eject到裸React Native

如果你执行npx expo prebuild生成完整的原生项目,虽然可以完全控制原生代码,但会失去Expo提供的EAS Build、Expo Updates等便利工具,且后续维护成本更高,仅在你需要深度定制原生功能时考虑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 05:42:30