Skip to content

Android 打包 - 生成签名文件

生成签名文件

在将 React Native 应用发布到 Android 应用商店之前,我们需要生成一个签名文件(keystore)。签名文件用于标识应用的开发者身份,确保应用的安全性和完整性。

步骤1:生成签名文件

使用 Java 的 keytool 工具生成签名文件。keytool 是 JDK(Java Development Kit)的一部分,所以确保你已经安装了 JDK。

  1. 打开命令行工具

    • Windows:打开命令提示符(cmd)或 PowerShell
    • macOS/Linux:打开终端
  2. 导航到项目目录

    bash
    cd your-project-directory
  3. 运行 keytool 命令生成签名文件

    bash
    keytool -genkeypair -v -keystore your-keystore-name.keystore -alias your-alias-name -keyalg RSA -keysize 2048 -validity 10000

    其中:

    • your-keystore-name.keystore:签名文件的名称,建议使用应用的包名作为前缀
    • your-alias-name:密钥别名,建议使用 "key" 或应用名称
    • validity 10000:密钥有效期,单位为天,10000 天约为 27 年
  4. 按照提示输入信息

    • 输入密钥库密码
    • 再次输入密钥库密码
    • 输入您的姓名
    • 输入您的组织单位
    • 输入您的组织
    • 输入您所在的城市或地区
    • 输入您所在的省/市/自治区
    • 输入国家/地区代码(中国为 CN)
    • 确认信息是否正确,输入 "y"
    • 输入密钥别名的密码(可以与密钥库密码相同)
    • 再次输入密钥别名的密码
  5. 签名文件生成成功: 执行完成后,会在当前目录生成一个 .keystore 文件。

步骤2:保存签名文件

  1. 创建安全的存储位置: 将生成的签名文件复制到一个安全的位置,例如:

    your-project-directory/android/app/your-keystore-name.keystore
  2. 备份签名文件: 签名文件非常重要,一旦丢失,将无法更新已发布的应用。请务必:

    • 备份到多个安全位置
    • 记录好密钥库密码和密钥别名密码
    • 不要将签名文件提交到版本控制系统

步骤3:配置 Gradle 使用签名文件

  1. 编辑 android/gradle.properties 文件: 添加以下内容(替换为您的实际信息):

    properties
    MYAPP_RELEASE_STORE_FILE=your-keystore-name.keystore
    MYAPP_RELEASE_KEY_ALIAS=your-alias-name
    MYAPP_RELEASE_STORE_PASSWORD=your-keystore-password
    MYAPP_RELEASE_KEY_PASSWORD=your-key-password
  2. 编辑 android/app/build.gradle 文件: 在 android 块中添加签名配置:

    txt
    android {
      ...
      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 {
          ...
          signingConfig signingConfigs.release
        }
      }
    }

步骤4:验证签名配置

  1. 运行 Gradle 任务验证配置

    bash
    cd android
    ./gradlew assembleRelease --dry-run
  2. 检查输出: 如果配置正确,命令应该能够正常执行,没有错误信息。

注意事项

  1. 安全性

    • 不要在代码中硬编码签名信息
    • 不要将签名文件或密码提交到版本控制系统
    • 考虑使用环境变量或密钥管理服务存储签名信息
  2. 备份

    • 签名文件和密码是应用的重要资产
    • 确保有多个备份,防止丢失
  3. 有效期

    • 签名文件有有效期,确保在过期前更新
    • 建议设置较长的有效期(如 25-30 年)
  4. 命名规范

    • 签名文件名称建议使用应用的包名
    • 密钥别名建议使用 "key" 或应用名称

常见问题

  1. keytool 命令未找到

    • 确保 JDK 已正确安装
    • 将 JDK 的 bin 目录添加到系统 PATH 环境变量
  2. 签名文件生成失败

    • 检查命令语法是否正确
    • 确保有足够的权限创建文件
  3. Gradle 配置错误

    • 检查 gradle.properties 中的变量名是否正确
    • 检查 build.gradle 中的签名配置是否正确
  4. 密码遗忘

    • 密码一旦遗忘,无法恢复
    • 请务必妥善保管密码

总结

生成签名文件是 Android 应用发布的必要步骤。正确生成和配置签名文件,确保应用能够成功发布到应用商店,并在后续的版本更新中保持一致性。

© 2026 编程马·菜鸟教程 版权所有