[英]Android Studio only gives me SHA1, I need SHA256
我想使用assetlinks.json
進行應用索引。 我應該使用SHA256 fingerprint
,但是當我在signingReport
Studio 中打印出簽名報告時,我只有 SHA1。
我可以使用SHA1
嗎? 如果沒有,我怎樣才能獲得 SHA256 簽名的應用程序?
使用 Manish Jain 的回答,我設法只列出了調試鍵。 如果我將我的實際密鑰庫路徑和 jks 文件放在路徑中:
keytool -list -v -keystore "C:\Users\myself\Keystores\android.jks" -alias mykey -storepass 1password -keypass 2password
出現了一組不同的鍵,我假設它是釋放鍵集。
最大的問題是為什么 Android Studio 在我從signingReport
打印出簽名報告時只列出調試密鑰,為什么它說Variant: releaseUnitTest, Config: none
? 任何想法?
您可以通過使用命令提示符 (Windows) 的keytool
來獲取SHA256
。
keytool -list -v -keystore "%USERPROFILE%\\.android\\debug.keystore" -alias androiddebugkey -storepass android -keypass android
有一個更簡單和更新的方法可以找到它,來自這個答案。
您會在那里找到您的 SHA-256 指紋。
正如@quent 所評論的,更改主工具欄中的運行配置以再次運行調試配置。
您可以從 Google Play Console ( https://play.google.com/apps/publish ) 獲取它。 按着這些次序:
Release Management
。App signing
。App signing certificate
。從終端轉到項目的根目錄並運行以下命令
./gradlew 簽名報告
您將獲得 SHA-1、SHA-256 和其他詳細信息
嘗試過的解決方案;
升級你的gradle版本
distributionUrl = https \: //services.gradle.org/distributions/gradle-5.4.1-bin.zip in gradle-wrapper.preperties
在那之后
-Navigate to the Gradle tab on the right side of Android Studio
-Expand the project name
-Expand Tasks
-Expand Android
-Double click on signingReport
我總是發現使用./gradlew signingReport
對我來說是有效且有益的。
只需在您的項目終端中運行該命令。
截至 2021 年,在最新的 Android Studio 中:
如果您無法看到“任務”部分,則替代方法是:
點擊gradle選項卡左上角的大象按鈕Execute Gradle Task,然后輸入:
gradle signingReport
它將在控制台中打印 SHA。
如果您需要它自動化,您可以從signingReport
gradle 任務輸出中提取值,如下所示:
function signing_certificate_digest() {
./gradlew app:signingReport | \
awk "/^Variant: $1\$/,/SHA-256|---/" | \
grep 'SHA-256' | \
cut -d' ' -f2
}
您可以在命令行中像這樣使用它:
signing_certificate_digest debug
另請注意:
使用 Play App Signing 時,上傳密鑰證書簽名的二進制文件的簽名將不同於 Google Play 分發的二進制文件。
所以這可能不適合這種情況。
將 OP 的解決方案從問題遷移到答案:
對於發布:
- Go 至:
C:\Program Files\Java\jdk1.7.0_25\bin
(或您的 jdk 文件所在的任何位置)。- 在 Win Explorer 的地址欄中輸入
cmd
。- 添加:
keytool -list -v -keystore "C:\Users\yourUserName\Keystores\android.jks" -alias yourAppName -storepass yourPasswordToKeystore -keypass yourPasswordToRequiredAppKey
當心!!!
如果您在密鑰庫中有多個密鑰,它可能無法為您提供與給定應用程序正確匹配的密鑰!
為您的應用獲取 SHA256 的另一種方法:
在開發者控制台或 Firebase 上,您可以在某處找到相關的 SHA256 密鑰。 我現在找不到它,但如果你繼續尋找,它就在某個地方。
我剛剛在 Google Play Developer Console 上找到了它:
- 上傳您的應用的第一個版本(如果您還沒有完成)
- Go 到發布管理中的應用發布
- 點擊管理測試版
- 在 APK 版本點擊右側的“i”信息按鈕
它將向您顯示 SHA 密鑰
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.