Android Studio only gives me SHA1, I need SHA256

43,539

Solution 1

You can get SHA256 by using keytool using command prompt (windows).

keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android

Solution 2

There is a much simpler and updated method to find it, comes from this answer.

  1. Navigate to the Gradle tab at the right side of Android Studio.
  2. In the list, navigate to the app section and expand it.
  3. In the expanded list, navigate to the Tasks section and expand it.
  4. Again, in the expanded list, navigate to the android section and expand it.
  5. Double-click on signingReport, and find the SHA-256 Fingerprint at the Run box.

You will find your SHA-256 Fingerprint there.

As @quent commented, change your run configuration in the main toolbar to run the debug configuration again.

Solution 3

You can get it from the Google Play Console (https://play.google.com/apps/publish). Follow these steps:

  1. Go to your project in GPC.
  2. Expand Release Management.
  3. Go to App signing.
  4. Navigate to App signing certificate.
  5. Copy SHA-256 fingerprint.

Solution 4

Go to the root directory of the project from the terminal and run the below command

./gradlew signingReport

You will get SHA-1, SHA-256, and other details

Solution 5

Navigate to the Gradle tab at the right side of Android Studio

  1. Navigate to the Gradle tab on the right side of Android Studio
  2. Expand the project name
  3. Expand Tasks
  4. Expand Android
  5. Double click on signingReport
Share:
43,539
Immy
Author by

Immy

Updated on January 20, 2022

Comments

  • Immy
    Immy over 2 years

    I want to use assetlinks.json for appindexing. I am supposed to use a SHA256 fingerprint, but when I print out the signingReport in Android Studio, I only have SHA1.

    Can I use SHA1? If not, how can I get a SHA256 signed app?

    Using Manish Jain's answer, I have managed to list only the debug keys, which is more than I could do by myself.

    If I put my actual keystore path and jks file in the path:

    keytool -list -v -keystore "C:\Users\myself\Keystores\android.jks" -alias mykey -storepass 1password -keypass 2password

    A different set of keys come up, which I assume would be the release key set.

    The BIG QUESTION is why Android Studio only lists the debug keys when I print out the signingReport from Gradle and why it says Variant: releaseUnitTest, Config: none? Any idea?

    By the way, this question has nothing to do with the suggested duplicate.

    EDIT:

    Replying to a question from jyomin 2. I hope it helps others too.

    For Release:

    1. Go to: C:\Program Files\Java\jdk1.7.0_25\bin (or wherever your jdk file is).
    2. Type cmd in address bar in win explorer.
    3. Add: keytool -list -v -keystore "C:\Users\yourUserName\Keystores\android.jks" -alias yourAppName -storepass yourPasswordToKeystore -keypass yourPasswordToRequiredAppKey

    Be careful!!!

    If you have multiple keys in the keystore, it might not give you the correct matching one to the given app!!!

    Another way of getting the SHA256 for your app:

    Either on the Developer Console or Firebase, you can find the related SHA256 key somewhere. I couldn't find it now, but if you keep looking, it is there somewhere.

    I just found it on the Google Play Developer Console:

    • Upload the first version of your app (if you haven't done it yet)
    • Go to App Releases in Release Management
    • Click Manage Beta
    • At the APK version click the "i" info button on the right

    It will show you the SHA keys

    Good luck!