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
相关推荐
wulijuan8886661 天前
ECharts图表性能优化的那些事
前端·javascript·echarts
风止何安啊1 天前
数字太长看花眼?一招教它排好队:千分位处理的实现
前端·javascript·面试
沙包大的拳头1 天前
扩展运算符无法克隆 getBoundingClientRect() 获取的值
前端·javascript
悟空瞎说1 天前
React 19 带来了诸多创新
前端·react.js
im_AMBER1 天前
高并发下的列表乱序与文档同步
前端·react.js·架构
游戏开发爱好者81 天前
React Native iOS 代码如何加密,JS 打包 和 IPA 混淆
android·javascript·react native·ios·小程序·uni-app·iphone
榴莲omega1 天前
第7天:网络进阶——TCP/UDP、WebSocket、长连接
javascript·网络·tcp/ip·udp·八股
xuankuxiaoyao1 天前
VUE.JS 实践 第二章
前端·javascript·vue.js
毕设源码-赖学姐1 天前
【开题答辩全过程】以 基于Vue的电商管理平台为例,包含答辩的问题和答案
前端·javascript·vue.js
Wayward and pinnacle1 天前
二次封装多选框组件
前端·javascript·vue.js