React Native 打包流程(Android 为主)

下面给你一套可直接复制的 React Native 打包流程(Android 为主,附 iOS)。

一、准备

确保能正常运行:npx react-native run-android

生成签名密钥(项目根目录执行):

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

把 my-release-key.keystore 放到 android/app

二、配置签名

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 {
  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
      minifyEnabled true
      shrinkResources true
      proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    }
  }
}

三、打包命令

  • 生成 JS Bundle(离线包):

    mkdir -p android/app/src/main/assets
    npx 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/

  • 打正式 APK:

    cd android
    ./gradlew assembleRelease

  • 输出:android/app/build/outputs/apk/release/app-release.apk

  • 打 AAB(推荐上架):

    ./gradlew bundleRelease

四、iOS 简要

生成离线资源:

复制代码
mkdir -p ios/bundle
npx react-native bundle --platform ios --dev false --entry-file index.js --bundle-output ios/bundle/main.jsbundle --assets-dest ios/bundle/assets

在 Xcode 配置 Signing & Capabilities,选 Release 证书,Archive 后导出 .ipa

五、优化与排坑

开启 Hermes、R8/ProGuard、资源压缩;用 ABI splits 瘦身

常见错:verifyReleaseResources → 检查第三方库 compileSdk;libpng → 关闭 aapt 检查或修复图片

六、交付

给测试:app-release.apk

上架:app-release.aab

相关推荐
小大宇1 小时前
Vue知识点-setup语法糖
1024程序员节
嘶哈哈哈1 小时前
PX4 + Livox MID360 + FAST-LIO + MAVROS
1024程序员节
Zevalin爱灰灰1 小时前
Linux入门第一部分(Ubuntu入门篇) 第二章 浅尝Ubuntu(一)
linux·嵌入式·1024程序员节
qq_408606861 小时前
C_Primer_Plus_Chapter17_exercise4
1024程序员节
java_logo1 小时前
Docker 部署 Bililive-go:轻松搭建多平台直播录制
docker·1024程序员节·直播录制·轩辕镜像·bililive-go·chigusa/bililive-go
番茄味城市甜菜1 小时前
数据结构:单链表(C语言)
数据结构·链表·1024程序员节
java_nnnn1 小时前
Linux 学习第二篇:从零认识 Linux 文件系统、目录结构与基本命令
linux·运维·学习·1024程序员节
重生之我是Java开发战士1 小时前
【Redis】Redis五大数据类型
1024程序员节
一尺之棰1 小时前
DSP-定时器原理
1024程序员节