Android App自定义签名文件的生成、查看SHA1值和使用

本文知识点:

1.通过命令行生成签名文件;

2.使用Android Studio创建签名文件;

3.查看SHA1值;

4.Android Studio项目中gradle的配置签名。

一、通过命令行生成签名文件

利用Java jdk中的keytool,在命令行中按以下步骤进行输入,即可生成自定义签名文件(xxx.keystore)。

①定位到keytool的路径

cd C:\Program Files\Java\jdk1.8.0_131\bin

Android App自定义签名文件的生成、查看SHA1值和使用Android App自定义签名文件的生成、查看SHA1值和使用

输入命令,指定签名文件的别名、**口令、加密算法类型、有效期限、文件名等(abc:签名文件名)

keytool -genkey -alias abc -keyalg RSA -validity 40000 -keystore abc.keystore

Android App自定义签名文件的生成、查看SHA1值和使用Android App自定义签名文件的生成、查看SHA1值和使用

输入**库口令、名字姓氏、单位名称、组织名称、市区名称、省/自治区名称、国家名称、确认信息是否正确等

Android App自定义签名文件的生成、查看SHA1值和使用Android App自定义签名文件的生成、查看SHA1值和使用

④输入**口令(一般直接按回车),签名文件生成完成

Android App自定义签名文件的生成、查看SHA1值和使用

Android App自定义签名文件的生成、查看SHA1值和使用

二、使用Android Studio创建签名文件

如果嫌命令行输入麻烦,我们还可以使用Android Studio来创建签名文件,步骤如下:

①Build--->Generate Signed APK...

Android App自定义签名文件的生成、查看SHA1值和使用

②Create New

Android App自定义签名文件的生成、查看SHA1值和使用

③选择保存路劲,输入签名文件名,然后填写相关信息。点击OK,生成签名文件。

Android App自定义签名文件的生成、查看SHA1值和使用

三、查看SHA1值

以第一种方式生成的签名文件为例,通过系统命令行的方式查看SHA1值步骤如下:

①命令行输入:

C:\Program Files\Java\jdk1.8.0_131\bin>keytool -list -v -keystore "C:\Program Files\Java\jdk1.8.0_131\bin\abc.keystore" -alias abc

(即:jdk bin目录 + keytool -list -keystore + .keystore/.jks 文件路径)

②输入**库口令,回车即可查看SHA1值

Android App自定义签名文件的生成、查看SHA1值和使用

四、Android Studio项目app的build.gradle中配置签名

1)最直接的一种方式是手动输入,如下(看粗体部分)

android {
    signingConfigs {
        config_app {
            keyAlias 'abc'
            keyPassword '123456'
            storeFile file('D:/ASWorkSpace/keystore/abc.jks')
            storePassword '123456'
        }
    }
    compileSdkVersion 25
    buildToolsVersion "25.0.3"
    defaultConfig {
        applicationId 'com.lang.test'
        minSdkVersion 16
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            debuggable false
            signingConfig signingConfigs.config_app
            proguardFile 'D:/ASWorkSpace/DocumentDownloadDemo/app/proguard-rules.pro'
        }
        debug {
            debuggable true
            signingConfig signingConfigs.config_app
            minifyEnabled false
            proguardFile 'D:/ASWorkSpace/DocumentDownloadDemo/app/proguard-rules.pro'
        }
    }
    productFlavors {
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:25.3.1'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    testCompile 'junit:junit:4.12'
}

2)当然,我们还可以使用图形化界面进行配置,步骤如下:

①在Android Studio中打开Project Structure窗口,在Signing界面填写要使用的签名文件的别名、**库口令、文件路径、密码等

Android App自定义签名文件的生成、查看SHA1值和使用

②在Build Types界面中选择改签名文件进行签名(这里可以分别对debug包和release包进行签名、代码是否混淆、混淆规则等信息的配置)

Android App自定义签名文件的生成、查看SHA1值和使用

③点击OK,然后查看app的build.gradle文件应该是这样的

Android App自定义签名文件的生成、查看SHA1值和使用