通过Keytool 生成 Android 签名文件

一.签名文件生成方式

1.签名文件可以通过Android Studio Build->Generate Signed Bundle /APK生成。
2.通过Keytool生成 。

Keytool是一个Java数据证书的管理工具,这个工具一般位于
JDK的安装路径bin目录下。例如我的是:C:\Shen\Software\JDK\jdk1.8.0_60\bin,通过cmd进入。

二.签名文件生成

keytool -genkey -alias com.shen.mvpmagic -keyalg RSA -validity 200000 -keystore E:/mvpmagic.keystore
命令说明:
-alias 别名(一般我使用的是 包名):com.shen.mvpmagic
-keyalg 秘钥算法:RSA 
-validity 有效期:200000
-keystore 秘钥存储路径:E:/mvpmagic.keystore

如图:

通过Keytool 生成 Android 签名文件_第1张图片

也可以这样输入,

keytool -genkey -alias aaaaa -keypass bbbbb -keyalg RSA -keysize 2048 -validity 36500 -keystore D:\test.keystore -storepass ccccc 


-genkey参数表示:要生成一个证书(版权、身份识别的安全证书)

-alias参数表示:证书的别名,表示包名,可自定义名字

-keypass表示别名秘钥

-keyalg RSA表示加密类型,RSA表示需要加密,以防止别人盗取 

-keysize 1024位生成的是MD5withRSA的算法,2048位生成的是SHAwihtRSA的算法

-validity 36500表示有效时间36500天

-keystore 表示生成的路径 

-storepass 表示签名秘钥

三.在项目中使用签名文件

在build.gradle中android里使用

    //签名信息
    signingConfigs {
        signApp {
            storeFile file('../mvpmagic.keystore')
            storePassword "123456"
            keyAlias "com.shen.mvpmagic"
            keyPassword "123456"
        }
    }

    buildTypes {
        release {
            debuggable false
            minifyEnabled true
            signingConfig signingConfigs.signApp
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
        debug {
            debuggable true
            minifyEnabled false
            signingConfig signingConfigs.signApp
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }

四:如何查看签名文件中的信息呢(MD5、SHA256等)
在命令符中输入(也是在JDK的目录bin目录下)

keytool -list -v -keystore E:\mvpmagic.keystore

如图

通过Keytool 生成 Android 签名文件_第2张图片

你可能感兴趣的:(android,java)