Android IDEAndroid Studio

How To Obtain Certificate SHA-1 Fingerprint Using Android Studio

What is SHA1?

Secure Hash Algorithm 1 or SHA-1 hash value is typically rendered as a hexadecimal number, 40 digits long used by organizations like Google, Facebook etc uses SHA-1 hash value for secure connection between their services and clients.

Being it is an important part of establishing a secure connection between two end points and developers may need it frequently i think it is worth explaining about how to get SHA-1 hash value for a application.

In Android Application development SHA-1 hash values are being generated during the application build process. It has been created by a Gradle task called signingReport. When running this task against a particular build variant (debug, release) it will output SHA-1 has value. SHA-1 hash value will be different for each build variant. i.e, SHA-1 value of debug will be different from SHA-1 value of release build.

SHA-1 value has been generated based on the information provided through signing configuration of a build. We call it signingConfig of the build variant.

Let’s see how to get SHA-1 value of debug and release variants

SHA-1 value is generated based on signingConfigs defined in build.gradle file in the module. But for debug we don’t need to define signingConfigs information it will be auto generated during debug assembly task.

But in the case of release, it is different. You should create a signed build before generating SHA-1 hash value.

Step 1. Create Signed Build

How To Create Signed APK Or Build

The above link will show you how to create signed APK using Android Studio. We need to create keystore file and specify it in signingConfigs for creating a SHA1 key for release variant.

Step 2. Add signingConfigs To build.gradle File

Below is the content of app/build.gradle. See the signingConfigs section where we have specified keystore information for release variant. The signingConfigs is optional i.e, you can omit it if you don’t want SHA1 key for release variant.

apply plugin: 'com.android.application'

android {
    compileSdkVersion 24
    buildToolsVersion "23.0.1"

    defaultConfig {
        applicationId "app.devdeeds.com.yourapplication"
        minSdkVersion 17
        targetSdkVersion 24
        versionCode 1
        versionName "1.0"
    }

//Signing configurations for build variants "release"
    signingConfigs {
        release {
            storeFile file("F:/Development/release_myapp.keystore")
            storePassword "231232das"
            keyAlias "myapp_rel"
            keyPassword "dasd333_das"
        }
    }

    buildTypes {
    //link above defined configuration to "release" build type
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.release
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:24.0.0'
}

Step 3. Execute signingReport Gradle Task

signingReport is the task that performs the creation of SHA1 key. We can selectively run this task which comes under Android.

screen_gradle_task_list

Step 4. Open Run Tab

After executing the signingReport you have to open Run tab, which is not selected by default.

screen_run_window

Copy the long string shown against SHA1. SHA1 keys are generated and displayed under each build variant i.e, debug, release. Please go to corresponding variant section as shown in the above screenshot.

Thank you. Please comment here if you have any doubt.

About author

Rojer is a programmer by profession, but he likes to research new things and is also interested in writing. Devdeeds is his blog, where he writes all the blog posts related to technology, gadgets, mobile apps, games, and related content.

Leave a Reply

Your email address will not be published. Required fields are marked *