当前位置:首页 > React

react native 如何打包

2026-02-11 19:59:47React

打包 React Native 应用

Android 打包

生成签名密钥:

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

配置 android/gradle.properties

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

修改 android/app/build.gradle

android {
    ...
    defaultConfig { ... }
    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:

cd android && ./gradlew assembleRelease

iOS 打包

配置 Xcode 项目:

  1. 打开 ios/YourProject.xcworkspace 文件
  2. 选择 Product > Scheme > Edit Scheme
  3. 选择 Run 并设置 Build Configuration 为 Release

生成 IPA:

react native 如何打包

  1. 选择 Product > Archive
  2. 在 Organizer 窗口中选择 Distribute App
  3. 选择分发方式(App Store 或 Ad Hoc)

生成 AAB (Android App Bundle)

修改 android/app/build.gradle

android {
    ...
    buildTypes {
        release {
            ...
            debuggable false
            minifyEnabled enableProguardInReleaseBuilds
            shrinkResources enableProguardInReleaseBuilds
            proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
        }
    }
    bundle {
        language {
            enableSplit = true
        }
        density {
            enableSplit = true
        }
        abi {
            enableSplit = true
        }
    }
}

生成 AAB 文件:

cd android && ./gradlew bundleRelease

环境变量配置

创建 .env 文件:

react native 如何打包

API_URL=https://api.example.com

安装依赖:

npm install react-native-config

修改 android/app/build.gradle

apply from: project(':react-native-config').projectDir.getPath() + "/dotenv.gradle"

优化打包配置

启用 ProGuard 代码混淆:

def enableProguardInReleaseBuilds = true

启用资源压缩:

shrinkResources true

注意事项

  • 确保测试 Release 版本的功能
  • 备份签名密钥文件
  • 检查应用的权限配置
  • 验证应用的版本号和版本名称
  • 确认应用的图标和启动画面配置正确

标签: reactnative
分享给朋友:

相关文章

react如何配置

react如何配置

配置React项目的基本步骤 安装Node.js和npm 确保系统已安装Node.js(包含npm)。可通过命令行检查版本: node -v npm -v 创建React项目 使用官方工具Creat…

如何升级react native

如何升级react native

升级 React Native 的步骤 检查当前版本 运行以下命令查看当前项目的 React Native 版本: react-native --version 更新 React Native CL…

react如何创建框架

react如何创建框架

React 创建框架的方法 React 本身是一个用于构建用户界面的 JavaScript 库,但可以通过多种方式创建框架或项目结构。以下是几种常见的方法: 使用 Create React App…

react如何减少伤害

react如何减少伤害

减少 React 应用性能伤害的方法 使用 React.memo 或 PureComponent 对于函数组件,使用 React.memo 进行浅比较,避免不必要的重新渲染。类组件可以使用 PureC…

react如何修改值

react如何修改值

修改 React 组件的值 在 React 中修改值通常涉及状态管理。根据组件的类型(类组件或函数组件)和状态管理方式(本地状态或全局状态),方法有所不同。 使用 useState(函数组件) 在函…

react参数如何传递

react参数如何传递

参数传递方式 React 中参数传递主要有以下几种方式: Props 传递 父组件通过属性(props)向子组件传递数据。子组件通过 props 对象接收参数。 // 父组件 <Chil…