Android平台签名证书(.keystore)生成指南

Android平台签名证书(.keystore)生成指南

前提条件,需要配置jdk(推荐使用 openJdk),需求配置好安卓开发环境。

适用于 UniApp 离线打包、Android 原生项目打包、发布到应用市场等场景。

一、使用 keytool 生成 .keystore 文件

命令格式

keytool -genkey -v

-keystore your-key.keystore

-alias your-alias

-keyalg RSA

-keysize 2048

-validity 36500

参数说明

参数 说明 -keystore 指定生成的 keystore 文件名 -alias 密钥条目的别名(alias) -keyalg 加密算法(Android 推荐用 RSA) -keysize 密钥长度(推荐 2048) -validity 有效期,单位为天(36500 约等于 100 年) -v 输出详细过程(verbose)

示例

bash 复制代码
keytool -genkey -alias testalias -keyalg RSA -keysize 2048 -validity 36500 -keystore test.keystore

执行后会提示输入: • keystore 密码(storePassword) • 证书信息(姓名、组织、城市等) • alias 密码(keyPassword,可与 storePassword 一样)

使用以下命令查看证书信息

bash 复制代码
keytool -list -v -keystore test.keystore  
Enter keystore password: //输入密码,回车

二、在 Gradle 项目中配置签名

编辑 app/build.gradle(或 simpleDemo/build.gradle)添加:

gradle 复制代码
android {
    signingConfigs {
        release {
            storeFile file("test.keystore")       // 指向你的 keystore 文件
            storePassword "你的storePassword"
            keyAlias "testalias"
            keyPassword "你的keyPassword"
        }
    }

    buildTypes {
        release {
            signingConfig signingConfigs.release
            minifyEnabled false
            shrinkResources false
            zipAlignEnabled true
        }
        debug {
            signingConfig signingConfigs.release
        }
    }
}

注意: storePassword 和 keyPassword 必须和生成时输入的一致。

三、打包 APK 并签名

命令行打包,生成 release 包

shell 复制代码
./gradlew assembleRelease

输出文件位置: app/build/outputs/apk/release/app-release.apk

或使用 Android Studio: Build > Build Bundle(s) / APK(s) > Build APK(s)

四、注意事项

  • .keystore 一旦丢失,将无法更新已发布应用。
  • 强烈建议备份 .keystore 文件和密码信息。
  • 不同应用商店对签名一致性有严格要求。
  • 使用 Google Play App Signing 功能可减轻密钥遗失风险(建议开启)。

五、直接使用 Android Studio 生成 证书

相关推荐
摘星编程20 小时前
【RAG+LLM实战指南】如何用检索增强生成破解AI幻觉难题?
android·人工智能
火柴就是我20 小时前
学习一些常用的混合模式之BlendMode. dst
android·flutter
遥不可及zzz20 小时前
解决 Google Play 提示的 16KB 内存页面大小对齐问题:通过升级 Android Gradle 插件(AGP)
android
SmartRadio21 小时前
在MT8791 5G硬件平台上舍弃安卓系统-运行OpenWRT系统
android·5g·mt8791
虫小宝21 小时前
导购APP高可用数据库设计:主从分离与分库分表在返利系统中的应用
android·数据库
我命由我123451 天前
Android Jetpack Compose - TopAppBar、BottomAppBar、Scaffold
android·java·java-ee·kotlin·android studio·android jetpack·android-studio
REDcker1 天前
Android WebView 升级 - WebViewUpgrade 库使用详解
android·华为·harmonyos·webview
我命由我123451 天前
Android Studio - Android Studio 去除 import 的未使用的类
android·java·ide·学习·java-ee·android studio·学习方法
ii_best1 天前
安卓/ios脚本开发辅助工具按键精灵横纵坐标转换教程
android·开发语言·ios·安卓
BD_Marathon1 天前
SpringMVC——5种类型参数传递
android·java·数据库