我想使用
assetlinks.json
进行应用程序索引。
我应该使用 SHA256 fingerprint
,但是当我在 Android Studio 中打印 signingReport
时,我只有 SHA1。
我可以使用
SHA1
吗?如果没有,我怎样才能获得 SHA256 签名的应用程序?
使用 Manish Jain 的答案,我成功地只列出了调试键。如果我将实际的密钥库路径和 jks 文件放在路径中:
keytool -list -v -keystore "C:\Users\myself\Keystores\android.jks" -alias mykey -storepass 1password -keypass 2password
出现一组不同的键,我认为这将是释放键组。
最大的问题是为什么当我从 Gradle 打印出 signingReport
时 Android Studio 只列出调试键以及为什么它显示
Variant: releaseUnitTest, Config: none
?有什么想法吗?
SHA256
来获取
keytool
。
对于 Mac 用户:
keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android
如果您的密码中有任何特殊字符,您可能需要将密码用单引号引起来。
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
这个答案。
正如 @quent 评论的那样,更改主工具栏中的运行配置以再次运行调试配置。
./gradlew 签名报告您将获得 SHA-1、SHA-256 和其他详细信息
https://play.google.com/apps/publish) 获取它。请按照以下步骤操作:
./gradlew signingReport
对我来说有效且有益。只需在项目终端中运行命令即可。
单击 gradle 选项卡左上角的大象按钮执行 Gradle 任务,然后输入:
gradle signingReport
它将在控制台中打印 SHA。
尝试过的解决方案:升级你的Gradle版本
distributionUrl = https \: //services.gradle.org/distributions/gradle-5.4.1-bin.zip in gradle-wrapper.preperties
之后
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 应用签名时,上传密钥证书签名的二进制文件的签名将与 Google Play 分发的二进制文件不同。所以这可能不适合这种情况。
将OP的解决方案从问题迁移到答案:
发布:
转到:
- 在 win 资源管理器的地址栏中输入
C:\Program Files\Java\jdk1.7.0_25\bin
(或您的 jdk 文件所在的位置)。- 添加:
cmd
。keytool -list -v -keystore "C:\Users\yourUserName\Keystores\android.jks" -alias yourAppName -storepass yourPasswordToKeystore -keypass yourPasswordToRequiredAppKey
小心!!!
如果您的密钥库中有多个密钥,它可能不会为您提供 正确匹配给定的应用程序!为您的应用获取 SHA256 的另一种方法:
无论是在开发者控制台还是Firebase上,您都可以找到相关的 SHA256 密钥某处。我现在找不到,但如果你继续寻找, 它就在那儿的某个地方。
我刚刚在 Google Play 开发者控制台上找到了它:
上传应用程序的第一个版本(如果您还没有这样做)
它将向您显示 SHA 密钥- 转到发布管理中的应用程序发布
- 单击管理测试版
- 在APK版本中点击右侧的“i”信息按钮
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android