react native打包发布流程

本文详细介绍如何在React Native项目中生成签名密钥,下载并放置buddle文件,使用密钥进行apk签名,以及启用proguard保护源代码和压缩apk的方法。

想要别人安装你的apk,总不能让别人手机连接你的电脑命令行下载吧。但是我们项目会生成apk,直接将apk发送给用户即可。

apk所在目录 :   android\app\build\outputs\apk\debug  中,直接将apk发送即可安装

1,生成一个签名密钥:

在项目目录 下输入命令行:

项目目录生成密钥文件:my-release-key.keystore

2,下载buddle文件放到asetts目录下

  在项目目录下打开:android/app/src/main文件夹,在其中创建目录assets。

 下载命令curl命令:https://curl.haxx.se/download.html#Win64

选择合适的curl文件,下载完毕后,将其中的curl.exe复制到项目工程目录下;

输入命令:react-native start  

        adb reverse tcp:8081 tcp:8081

    curl  "http://localhost:8081/index.android.bundle?platform=android"  >  android/app/src/main

结果报错说,我的android/app/src/main/assets不允许打开,就算没有权限,我生气了。

于是我打开网址"http://localhost:8081/index.android.bundle?platform=android",全部复制了代码,再在assets文件夹中新建了文件:index.android.bundle,将代码黏贴到其中。

3,打包的时候需要使用密钥签名:因为打包的apk在未签名的情况下,非root不允许安装

在android/app/build.gradle中,在defaultConfigs下添加:

signingConfigs{
    release{
         storeFile file("E://react/myproject1/android/app/src/main/assets/index.android.bundle")
         storePassword "123456"
         keyAlias "my-key-alias"
         keyPassword "123456"
         }
        }        

在下一个中添加一句话:signingConfig signingConfigs.release  

4,启用proguard保护源代码和压缩apk

将上图中的splits中的一句改为

enable enableSeparateBuildPerCPUArchitecture=ture

如果有引入其他的原生库,需要再修改文件,proguard需要为你引入的其他库做一些额外的配置;

5,在android目录中执行:gradle assembleRease 命令,可以将代码打包成apk,生成的apk在E:\react\myproject1\android\app\build\outputs\apk\debug目录下,如果有问题,使用gradle clean 命令清除一下

grandle下载地址:http://services.gradle.org/distributions/

### React Native 应用的打包发布 React Native 是一种流行的跨平台框架,用于构建原生移动应用程序。为了将 React Native 应用部署到 Android 和 iOS 平台上,开发者需要遵循一系列步骤来生成最终的应用安装包 (APK 或 IPA)。 #### 一、iOS 平台的打包流程 对于 iOS 平台,可以通过以下方式生成 `.ipa` 文件: 1. **创建 Bundle 文件** 使用 `react-native bundle` 命令可以生成 JavaScript 的捆绑文件和资源文件夹。以下是具体命令: ```bash react-native bundle --entry-file index.js --platform ios --dev false --bundle-output release_ios/main.jsbundle --assets-dest release_ios/ ``` 这条命令会生成一个名为 `main.jsbundle` 的文件以及对应的静态资源目录[^1]。 2. **Xcode 配置** 将生成的 `main.jsbundle` 文件拖入 Xcode 工程中的合适位置,并确保其被正确加载。同时,在项目的 Build Phases 中添加脚本来复制此文件。 3. **签名与导出** 利用苹果开发者账号配置好 Provisioning Profile 和 Code Signing Identity 后,通过 Archive 功能上传至 App Store Connect 或者手动导出为 `.ipa` 文件[^3]。 #### 二、Android 平台的打包流程 针对 Android 平台,则需生成 APK 或 AAB 格式的安装包: 1. **设置 Gradle 变量** 修改 android/app/build.gradle 文件内的 keystore 参数以支持正式环境下的签名操作。例如: ```gradle signingConfigs { release { storeFile file('release.keystore') storePassword 'your_store_password' keyAlias 'key_alias_name' keyPassword 'your_key_password' } } buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' signingConfig signingConfigs.release } } ``` 2. **执行打包指令** 在项目根目录下运行如下命令即可得到已签名的生产版本 APK: ```bash cd android && ./gradlew assembleRelease ``` 此外还可以借助 npm 脚本简化这一过程,比如定义 script 如下所示: ```json "scripts": { "build:android": "cd android && ./gradlew assembleRelease" } ``` 接着只需调用 `npm run build:android` 即可完成编译工作[^5]。 3. **验证调试模式 vs 发布模式差异** 如果仅测试未经过优化处理的小型 debug 版本 apk 大约为几十兆级别;而实际发布的应用体积通常更大一些因为包含了更多依赖库和服务端接口数据等内容[^4]。 #### 总结说明 无论是哪个操作系统都需要经历相似的过程——先准备必要的资产文件再经由官方工具链完成最后阶段的工作直至成功提交审核上线前还需仔细核验各项参数设定无误以免影响后续进展顺利程度[^2]。 ```python # 示例 Python 代码片段无关当前主题仅供展示 markdown 支持语法高亮功能 def example_function(): pass ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值