当前位置:首页 > React

react native如何打包

2026-02-26 06:09:33React

React Native 打包步骤(Android/iOS)

Android 打包

生成签名密钥(仅首次需要)
在项目根目录下运行以下命令生成密钥文件(my-release-key.keystore):

keytool -genkeypair -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000

配置 gradle 变量
android/gradle.properties 末尾添加:

MYAPP_RELEASE_STORE_FILE=my-release-key.keystore
MYAPP_RELEASE_KEY_ALIAS=my-key-alias
MYAPP_RELEASE_STORE_PASSWORD=yourpassword
MYAPP_RELEASE_KEY_PASSWORD=yourpassword

修改 build.gradle
android/app/build.gradle 中确保有以下配置:

android {
    ...
    signingConfigs {
        release {
            storeFile file(MYAPP_RELEASE_STORE_FILE)
            storePassword MYAPP_RELEASE_STORE_PASSWORD
            keyAlias MYAPP_RELEASE_KEY_ALIAS
            keyPassword MYAPP_RELEASE_KEY_PASSWORD
        }
    }
    buildTypes {
        release {
            signingConfig signingConfigs.release
        }
    }
}

生成 APK/AAB
运行以下命令生成发布包:

cd android && ./gradlew assembleRelease  # 生成APK
cd android && ./gradlew bundleRelease    # 生成AAB(Google Play要求)

输出文件路径

react native如何打包

  • APK: android/app/build/outputs/apk/release/app-release.apk
  • AAB: android/app/build/outputs/bundle/release/app-release.aab

iOS 打包

配置 Xcode 项目
通过 Xcode 打开 ios/YourProjectName.xcworkspace(注意不是 .xcodeproj)。

设置发布版本
在 Xcode 顶部菜单选择 Generic iOS Device 或具体设备,Scheme 选择 Release

修改编译配置
Build Settings 中:

react native如何打包

  • 设置 Code Signing Identity 为开发者或分发证书
  • 确认 Provisioning Profile 选择正确的描述文件

生成归档文件
通过菜单 Product > Archive 生成归档,完成后在 Organizer 窗口中选择 Distribute App,按需选择分发方式(App Store/Ad Hoc等)。

通用优化建议

开启 ProGuard(Android)
android/app/build.gradle 中启用代码混淆:

buildTypes {
    release {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}

资源优化
使用 react-native bundle 预打包资源:

react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/

版本号管理
通过 app.json 或直接修改 Info.plist(iOS)/ build.gradle(Android)保持版本号一致。

标签: reactnative
分享给朋友:

相关文章

react如何取消渲染

react如何取消渲染

取消渲染的方法 在React中,取消渲染通常指的是在某些条件下阻止组件渲染或中断正在进行的渲染过程。以下是几种常见的方法: 条件渲染 通过条件判断决定是否渲染组件或部分内容。可以使用if语句或三元运…

react如何销毁

react如何销毁

React 组件销毁的机制 在 React 中,组件的销毁通常由 React 的生命周期管理。当组件从 DOM 中移除时,React 会自动触发销毁相关的生命周期方法。以下是关键点: 组件的销毁通…

react 如何分页

react 如何分页

分页实现方法 在React中实现分页功能可以通过多种方式完成,具体取决于数据来源(如API或本地数据)和UI库的选择。以下是常见的实现方法: 使用本地数据分页 对于存储在组件状态或Contex…

react如何遍历

react如何遍历

遍历数组或对象的方法 在React中,遍历数组或对象通常用于渲染列表或动态生成内容。以下是几种常见的遍历方法: 使用map遍历数组map是遍历数组并返回新数组的高阶函数,适合渲染列表。…

react如何浮动

react如何浮动

使用 CSS 实现浮动 在 React 中实现浮动效果可以通过 CSS 的 float 属性完成。在组件的样式文件或内联样式中直接设置 float: left 或 float: right。…

react如何diff

react如何diff

React Diff 算法原理 React 的 Diff 算法是 Virtual DOM 的核心部分,用于高效更新真实 DOM。其核心思想是通过对比新旧 Virtual DOM 树的差异,最小化 DO…