生成keystore和apk签名

本文详细介绍如何使用JDK的keytool工具或Android Studio生成keystore文件并进行apk签名,包括生成keystore文件的具体命令、参数说明及步骤,适用于Android开发者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在Android项目开发中想要将项目导出为apk的时候需要选择一个数字证书,即keystore文件,用来对apk进行签名,是导出APP的一个钥匙,一般需要我们自己生成android.keystore文件。

使用JDK的keytool工具生成
  1. 安装jdk,keytool.exe位于目录下/jdk/bin/
  2. 使用命令:keytool -genkey -v -keystore android.keystore -alias androidtest -keyalg RSA -validity 365
#参数说明
- genkey 生成文件
- alias 别名
- keyalg 加密算法
- validity 有效期
- keystore 文件名

示例

C:\Users\Admin>keytool -genkey -v -keystore android.keystore -alias androidtest -keyalg RSA -validity 365
输入密钥库口令:
再次输入新口令:
您的名字与姓氏是什么?
  [Unknown]:  test
您的组织单位名称是什么?
  [Unknown]:  test
您的组织名称是什么?
  [Unknown]:  test
您所在的城市或区域名称是什么?
  [Unknown]:  test
您所在的省/市/自治区名称是什么?
  [Unknown]:  test
该单位的双字母国家/地区代码是什么?
  [Unknown]:  test
CN=test, OU=test, O=test, L=test, ST=test, C=test是否正确?
  []:  y

正在为以下对象生成 2,048 位RSA密钥对和自签名证书 (SHA256withRSA) (有效期为 365 天):
         CN=test, OU=test, O=test, L=test, ST=test, C=test
输入 <androidtest> 的密钥口令
        (如果和密钥库口令相同, 按回车):
再次输入新口令:
[正在存储android.keystore]

Warning:
JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore android.keystore -destkeystore android.keystore -deststoretype pkcs12" 迁移到行业标准格式 PKCS12。
  1. 生成文件android.keystore
  2. 查看keystore信息:keytool -list -keystore “android.keystore -rfc
使用Android Studio生成
  1. 打开Android Studio-Build-Generate Signed Bundle/APK-APK-Next-Create New,填写信息
    在这里插入图片描述
  2. 点击OK,在Key store path路径下生成android.keystore
使用keystore给apk签名
  1. 打开Android Studio-Build-Generate Signed Bundle/APK,选择Key store path,填写密码,点击Next
    在这里插入图片描述
  2. 选择release,Signature Versions勾选V1和V2,最后Finish
    在这里插入图片描述
  3. 提示生成/release/app-release.apk即可
    在这里插入图片描述
Android Studio代码混淆及自动签名打包apk

参考:Android studio 代码混淆及打包apk

混淆

混淆配置的文件:proguard-rules.pro

自动签名apk

  1. 打开Project Structure,选择Modules-Signing Configs,添加自己的config
    在这里插入图片描述
  2. 执行完成后,会在build.gradle中自动加上 signingConfigs{ config {…} }的信息
apply plugin: 'com.android.application'

android {
    compileSdkVersion 25
    defaultConfig {
        applicationId "com.meigsmart.meigrs32"
        minSdkVersion 21
        targetSdkVersion 25
        versionCode 53
        versionName "1.0.53"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }

	//签名参数
    signingConfigs {
        sginconfig {
            keyAlias 'androiddebug'
            keyPassword 'android'
            storeFile file('debug.keystore')
            storePassword 'android'
        }
    }

    buildTypes {
        release {
        	//签名
            signingConfig signingConfigs.sginconfig
            //混淆 ture为开启 一般relseae时为true debugs为false
            minifyEnabled false
            //加载默认混淆配置文件
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        debug {
            signingConfig signingConfigs.sginconfig
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}
  1. 选择Build Variants-build Types,选择release
    在这里插入图片描述
    zip align enabled 默认为true, 用于启用优化Apk的操作
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值