React Native 如何打包正式apk

在 React Native(RN)中打包正式版(Release)应用,Windows 和 Android 的流程是不同的。下面分别介绍如何为 AndroidWindows 平台构建正式版应用。


一、Android 打包正式 App

1. 生成签名密钥(Keystore)

如果你还没有签名密钥:

bash 复制代码
keytool -genkeypair -v -storetype PKCS12 -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000

建议将 my-release-key.keystore 文件放在 android/app/ 目录下。

2. 配置 Gradle 使用签名

编辑 android/gradle.properties,添加:

properties 复制代码
MYAPP_UPLOAD_STORE_FILE=my-release-key.keystore
MYAPP_UPLOAD_KEY_ALIAS=my-key-alias
MYAPP_UPLOAD_STORE_PASSWORD=*****
MYAPP_UPLOAD_KEY_PASSWORD=*****

然后编辑 android/app/build.gradle

gradle 复制代码
android {
    ...
    signingConfigs {
        release {
            if (project.hasProperty('MYAPP_UPLOAD_STORE_FILE')) {
                storeFile file(MYAPP_UPLOAD_STORE_FILE)
                storePassword MYAPP_UPLOAD_STORE_PASSWORD
                keyAlias MYAPP_UPLOAD_KEY_ALIAS
                keyPassword MYAPP_UPLOAD_KEY_PASSWORD
            }
        }
    }
    buildTypes {
        release {
            ...
            signingConfig signingConfigs.release
        }
    }
}

3. 构建 Release APK 或 AAB

生成 APK:
bash 复制代码
cd android
./gradlew assembleRelease

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

使用 adb 安装 APK:
bash 复制代码
adb install android/app/build/outputs/apk/release/app-release.apk
相关推荐
Cobyte1 小时前
模板 DSL 解析器中的状态机设计
前端·javascript·vue.js
软件开发技术深度爱好者2 小时前
小学英语单词魔法学园HTML5实现
javascript·html5·英语学习
勉灬之2 小时前
Next.js + Prisma 跨平台部署踩坑记
开发语言·javascript·ecmascript
糖果店的幽灵2 小时前
langgraph分支之 - 动态分支(Dynamic Branch)
java·前端·javascript·人工智能·langgraph
这是个栗子3 小时前
前端开发中的常用工具函数(九)
开发语言·javascript·ecmascript·at
空中湖4 小时前
Spring AI Agent 编排:ReAct 模式 + 多 Agent 协作实战
人工智能·spring·react.js
Revolution614 小时前
一段 JavaScript 代码执行时,到底发生了什么
前端·javascript
To_OC13 小时前
LC 131 分割回文串:刚学回溯时,我连怎么切字符串都想不明白
javascript·算法·leetcode
To_OC15 小时前
LC 42 接雨水:暴力超时卡半天?前后缀数组一用就通了
javascript·算法·leetcode