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

React Native项目创建:create-expo-app如何指定包名?哪条命令更优?

问题解答

1. 如何用create-expo-app设置包名?

初始化项目时直接指定包名

创建项目时可以通过--package-name参数直接设置Android包名和iOS Bundle Identifier:

npx create-expo-app my-project --package-name com.mycompany

这个命令会自动将Android包名设为com.mycompany,iOS的Bundle Identifier也同步使用该值。

已创建项目后修改包名

如果项目已经创建完成,可修改项目根目录下的app.json(或app.config.js)文件,调整对应字段:

  • Android包名:修改expo.android.package字段
  • iOS Bundle Identifier:修改expo.ios.bundleIdentifier字段

示例app.json片段:

{
  "expo": {
    "name": "my-project",
    "slug": "my-project",
    "android": {
      "package": "com.mycompany"
    },
    "ios": {
      "bundleIdentifier": "com.mycompany"
    }
  }
}

修改保存后,后续Expo构建或预览时就会使用新的包名。

2. 两个命令哪个更适合新手?

优先推荐npx create-expo-app,原因如下:

  • 上手门槛极低:无需提前配置Android Studio、Xcode等复杂原生环境,安装Expo Go app后就能直接在真机预览项目,快速验证代码效果。
  • 内置丰富能力:Expo封装了大量常用原生API(如相机、地理位置、推送通知),无需编写原生代码即可直接调用,大幅降低新手学习成本。
  • 简化构建发布:通过EAS Build可一键生成Android/iOS安装包,无需本地环境就能完成打包和发布流程。

而react-native init创建的是「裸RN项目」,优势是灵活性更高,允许深度定制原生代码,但对新手不友好:

  • 需要手动配置原生开发环境,过程中容易遇到各类依赖问题。
  • 集成第三方原生库时,需手动处理Android的gradle、iOS的pod等原生配置,新手易踩坑。

如果是第一次接触React Native,先用create-expo-app快速上手,等熟悉RN基础逻辑且有定制原生功能的需求时,再考虑切换到裸项目(Expo也支持通过eject或预构建过渡到裸项目)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 19:48:19