Reputation: 731
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. 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?
Upvotes: 57
Views: 104532
Reputation: 2021
Go to the root directory of the Android project from the terminal and run the below command
cd android
./gradlew signingReport
You will get SHA-1, SHA-256, and other details
Upvotes: 44
Reputation: 1
Just run following command in Android Studio Console i.e.
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
Upvotes: 0
Reputation: 929
You can get it from the Google Play Console (https://play.google.com/apps/publish). Follow these steps:
Upvotes: 23
Reputation: 2339
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
For Mac users:
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
If you have any special characters in your password, you may need to wrap the password in single quotes.
Upvotes: 110
Reputation: 598
The tried solution: Upgrade your Gradle version
distributionUrl = https \: //services.gradle.org/distributions/gradle-5.4.1-bin.zip in gradle-wrapper.preperties
after that
Navigate to the Gradle tab on the right side of Android Studio
Expand the project name
Expand Tasks
Expand Android
Double click on signingReport
Upvotes: 1
Reputation: 21100
Migrating OP's solution from the question to an answer:
For Release:
- Go to:
C:\Program Files\Java\jdk1.7.0_25\bin
(or wherever your jdk file is).- Type
cmd
in address bar in win explorer.- 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
Upvotes: 0
Reputation: 71
go to play console dashboard->App integrity ->app signing you will see SHA-1, SHA256 and MD5 keys
Upvotes: 5
Reputation: 9610
If you need it automated, you can extract the value from signingReport
gradle task output like this:
function signing_certificate_digest() {
./gradlew app:signingReport | \
awk "/^Variant: $1\$/,/SHA-256|---/" | \
grep 'SHA-256' | \
cut -d' ' -f2
}
Which you can use like this in command line:
signing_certificate_digest debug
Also note:
When using Play App Signing, the signature of the binary signed by the upload key certificate will be different than the binary distributed by Google Play.
So this may not be suitable in that case.
Upvotes: 0
Reputation: 1467
As of 2021, in the latest Android Studio:
If you are not able to see the Tasks section then the alternate is:
Click the elephant button Execute Gradle Task on the upper left of the gradle tab, and then type in:
gradle signingReport
and it will print the SHAs in the console.
Upvotes: 5
Reputation: 210
I always find using ./gradlew signingReport
effective and good for me.
Just run the command in your project terminal.
Upvotes: 15
Reputation: 574
Upvotes: 13
Reputation: 712
There is a much simpler and updated method to find it, comes from this answer.
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.
Upvotes: 55