Skip to content

53 React Native 跨平台app开发入门之四 app打包和发布

Jinxin Chen edited this page Dec 11, 2019 · 1 revision

本篇介绍如何将 react native 创建的 project 打包成可以在手机上安装的应用程序

Android 篇

生成一个签名密钥

可以用jdk bin目录的keytool命令生成一个私有密钥,如果已经配置好path,可以直接在 project 目录中运行:

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

输入密码等信息之后,会生成 my-release-key.keystore 密钥库文件。

设置gradle变量

把my-release-key.keystore文件放到工程的android/app文件夹下。

编辑~/.gradle/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:

    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 {
            minifyEnabled enableProguardInReleaseBuilds
            proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
            signingConfig signingConfigs.release
        }
    }

打包 APK

cd android && ./gradlew assembleRelease

没有问题的话,,APK 会在如下目录生成: android/app/build/outputs/apk/app-release.apk

参考:

Clone this wiki locally