react native 如何打包
打包 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 项目:
- 打开
ios/YourProject.xcworkspace文件 - 选择 Product > Scheme > Edit Scheme
- 选择 Run 并设置 Build Configuration 为 Release
生成 IPA:

- 选择 Product > Archive
- 在 Organizer 窗口中选择 Distribute App
- 选择分发方式(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 文件:

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 版本的功能
- 备份签名密钥文件
- 检查应用的权限配置
- 验证应用的版本号和版本名称
- 确认应用的图标和启动画面配置正确






