一、概述
Android 要求所有应用都有一个数字签名才会被允许安装在用户手机上,所以在把应用发布到应用市场之前,你需要先生成一个签名的 AAB 或 APK 包(Google Play 现在要求 AAB 格式,而国内的应用市场目前仅支持 APK 格式。但无论哪种格式,签名步骤是一样的)
二、生成一个签名密钥
在项目的
// 生成密钥命令 keytool -genkeypair -v -storetype PKCS12 -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000 // 浅浅解析一下 keytool:这是一个用于管理 Java 密钥和证书的命令行工具。 -genkeypair:这个选项指示 keytool 生成一个密钥对,即公钥和私钥。 -v:这个选项表示在生成密钥对时显示详细的输出信息。 -storetype PKCS12:这个选项指定了密钥库的类型为 PKCS12,这是一种常见的密钥库格式。 -keystore my-release-key.keystore:这个选项指定了要创建的密钥库文件的名称,即 my-release-key.keystore。 -alias my-key-alias:这个选项指定了密钥对的别名,即 my-key-alias。 -keyalg RSA:这个选项指定了要使用的密钥算法,这里是 RSA。 -keysize 2048:这个选项指定了生成的密钥的长度,这里是 2048 位。 -validity 10000:这个选项指定了生成的密钥对的有效期,即密钥对的证书有效期为 10000 天。
三、在 /app/build.gradle 中配置密钥
1、直接引入:
signingConfigs { release { storeFile file("my-release-key.keystore") storePassword "123456" keyAlias "my-key-alias" keyPassword "123456" } debug { storeFile file('debug.keystore') storePassword 'android' keyAlias 'androiddebugkey' keyPassword 'android' } } buildTypes { debug { signingConfig signingConfigs.debug } release { // Caution! In production, you need to generate your own keystore file. // see https://reactnative.dev/docs/signed-apk-android. signingConfig signingConfigs.release minifyEnabled enableProguardInReleaseBuilds proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" } }
2、在
MYAPP_RELEASE_STORE_FILE=my-release-key.keystore MYAPP_RELEASE_KEY_ALIAS=my-key-alias MYAPP_RELEASE_STORE_PASSWORD=123456 MYAPP_RELEASE_KEY_PASSWORD=123456
// 换上对应的变量名 release { storeFile file(MYAPP_RELEASE_STORE_FILE) storePassword MYAPP_RELEASE_STORE_PASSWORD keyAlias MYAPP_RELEASE_KEY_ALIAS keyPassword MYAPP_RELEASE_KEY_PASSWORD }
四、查看密钥信息
查看密钥信息,在
./gradlew signingReport