📌  相关文章
📜  为 React Native App 创建签名的 APK/ABB 文件

📅  最后修改于: 2022-05-13 01:56:33.846000             🧑  作者: Mango

为 React Native App 创建签名的 APK/ABB 文件

在本文中,您将学习如何为 React Native 应用程序创建 APK 或 Android App Bundle (ABB) 文件。您的应用程序应使用上传密钥进行数字签名,以使您的 Android 应用程序在 Google Play 商店上发布。

在终端/cmd 中生成私有签名密钥:您可以使用 keytool 生成私有签名密钥。确保 keytool 必须从 C:\Program Files\ Java\jdkx.x.x_x\bin 运行
在终端/命令行中打开您的项目位置,如下图所示。

在终端/cmd中打开您的项目位置

输入此命令以生成 Keystore 文件(不适用于 macOS 用户):

此命令将询问 Keystore 密码和一些关于您的基本信息。 (您将输入的密码不会在屏幕上显示)
最后一步,输入“yes”,将生成一个2048位的RSA密钥对和一个有效期为10000天的自签名证书(SHA256withRSA)。这将存储在名为 my-upload-key.keystore 的项目目录中。

输出:

my-upload-key.keystore 文件将在项目目录文件夹中生成。

移动项目文件夹中 android/app 目录下的 my-upload-key.keystore 文件

如果您使用的是 macOS,则将 keytool 与 sudo 一起使用:

设置 Gradle 变量:

第一步:将my-upload-key.keystore文件移动到项目文件夹的android/app目录下。

第二步:在android/gradle.properties中添加如下几行(将****替换为正确的Keystore密码、别名、key密码)

MYAPP_UPLOAD_STORE_FILE=my-upload-key.keystore
MYAPP_UPLOAD_KEY_ALIAS=my-key-alias
MYAPP_UPLOAD_STORE_PASSWORD=*****
MYAPP_UPLOAD_KEY_PASSWORD=*****

关于安全性的注意事项:如果您不想以明文形式保存密码,您可以将您的凭据存储在 Keychain Access 应用程序中。然后你可以跳过~/.gradle/gradle.properties 中的最后两行。

将签名配置添加到应用的 Gradle 配置

接下来,在项目文件夹的 android\app\build.gradle 下的以下行中添加签名配置:-

...
android {
    ...
    defaultConfig { ... }
    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
        }
    }
}
...

完成此步骤后,您可以生成 APK/ABB 文件。

生成APK:

对于 APK 文件生成,在 CMD 中运行以下命令:

cd android 
./gradlew assembleRelease

输出:

运行此命令最多可能需要 10 分钟。

现在您将收到一条消息BUILD SUCCESSFUL ,然后生成一个 APK 文件!
您可以在 android/app/build/outputs/apk/app-release.apk 找到 APK 文件。

生成 ABB(可选):对于 ABB 文件生成,在 CMD 中运行以下命令:

cd android
./gradlew bundleRelease

输出:

运行此命令最多可能需要 10 分钟。

您将收到一条消息,构建成功
现在生成了 ABB 文件!
您可以在 android/app/build/outputs/bundle/release/app.aab 找到 ABB 文件,该文件可以上传到 Google Play 商店。

测试您的应用的发布版本:要在 Play 商店发布之前测试您的应用,请卸载任何以前版本的应用并使用以下命令进行安装:-

npx react-native run-android --variant=release

可选步骤:启用 Proguard 以压缩 APK 大小。

Proguard 工具用于优化 APK 大小。

编辑 android/app/build.gradle 并搜索“enableProguardInReleaseBuilds”并使其启用 proguard :-

def enableProguardInReleaseBuilds = true