react native项目如何打包apk

一 生成秘钥

进入到jdk安装目录的bin目录下, 执行以下命令

keytool -genkeypair -v -storetype PKCS12 -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000

-keystore: 指生成的秘钥文件名称

-alias: 这个之后要用, 需要记一下

注:

  1. win环境下, 如果jdk安装在c盘, 可能会因为没有读写权限导致生成秘钥文件失败, 需在管理员模式的cmd中执行该命令
  2. 该过程中需要输入一些公司简称, 密码之类的内容, 这个密码可能会在app上架应用市场或者申请证书时用到,需要记一下

二 设置 gradle 变量

将生成的秘钥文件复制到 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=*****

三 把签名配置加入到项目的 gradle 配置中

没啥需要改的, 直接复制进去就行

...
android {
    ...
    defaultConfig { ... }
    signingConfigs {        // this
        release {
            if (project.hasProperty('MYAPP_RELEASE_STORE_FILE')) {
                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    // this
        }
    }
}
...

在使用一些三方服务时,可能因为开发时和打包后的签名文件不同的原因导致服务无生效之类的问题,此处可以考虑将开发时使用的签名文件也换成release的签名文件(不知道这么做会不会涉及安全问题)

四 执行打包命令

进入 android 目录下, 执行该命令.

./gradlew assembleRelease

生成的 APK 文件位于android/app/build/outputs/apk/release/app-release.apk

注:

  1. 此处的./,在有些命令行工具中会报错,例如cmd。可以尝试将./去掉重新执行命令.
  2. 我们将rn的版本从0.67升级到0.72之后出现了一些三方依赖在打包时报错的情况, 我们将命令更换成了./gradlew app:assembleRelease之后解决了这一问题

    Task :react-native-xxxxx:verifyReleaseResources FAILED

五 在设备上运行该发行版本

npx react-native run-android --variant=release
  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值