如何将 SHA-1 添加到 android 应用程序
How to add SHA-1 to android application
我正在尝试在 Firebase 中创建动态 link,当我选择 android 应用程序时,它显示一条错误消息 "Add SHA-1 to this android app",我已经添加了凭据,但我不确定我该如何 "add SHA-1 to the app"
这是怎么做到的?
android 工作室中的 SHA-1 代:
Select Gradle 在 android 工作室中来自右侧面板
Select 您的应用程序
在任务 -> android-> signingReport
双击signingReport
。
您将在“Gradle 控制台”
中找到 SHA-1 指纹
在 firebase 控制台中添加此 SHA-1 指纹
或者您可以使用命令行获取您的 SHA-1 指纹:
对于您的调试证书,您应该使用:
keytool -list -v -keystore C:\Users\user\.android\debug.keystore -alias androiddebugkey -storepass android -keypass android
您应该将“c:\Users\user
”更改为 windows 用户目录的路径
如果您想为自己的证书获取生产 SHA-1,请将“C:\Users\user\.android\debug.keystore
”替换为您的自定义 KeyStore 路径,并使用您的 KeystorePass 和 Keypass 而不是 android/android。
然后声明 SHA-1
指纹,如 Damini 所说
以防万一:使用命令行生成SHA1指纹时,指定文件夹路径时要小心。
如果您的用户名或 android 文件夹路径有一个 space,您应该添加两个双引号,如下所示:
keytool -list -v -keystore "C:\Users\User Name\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android
如果您正在使用 Google Play App Signing,您需要使用 google 游戏中的 SHA1,因为 Google 会将您的发布签名密钥替换为 googles 服务器上的密钥
尝试在 CMD 中粘贴此代码:
keytool -list -v -alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore
MacOS 只需在终端中粘贴:
keytool -list -v -alias androiddebugkey -keystore ~/.android/debug.keystore -storepass android -keypass android
linux os 终端 运行 这个:
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass androi
在 Windows 上,打开命令提示符程序。您可以通过转到“开始”菜单来执行此操作
keytool -exportcert -list -v -alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore
在 Mac/Linux 上,打开终端并粘贴
keytool -exportcert -list -v -alias androiddebugkey -keystore ~/.android/debug.keystore
打开一个终端并运行使用Java提供的keytool实用程序来获取证书的SHA-1指纹。您应该同时获得发布和调试证书指纹。
获取发布证书指纹:
keytool -exportcert -list -v \ -alias -keystore
如果您使用 Google Play App Signing,则无需手动添加 SHA-1 密钥,只需登录 Firebase 进入 "project settings"->"integration"然后按一个按钮 link Google 使用 firebase,SHA-1 将自动添加。
当我使用 android studio
生成 sha1 密钥 时
Gradle -> Tasks -> android-> signingReport
和 双击
那个 sha1 密钥 在调试 模式下有效,但在我构建 singed APK[=37= 时无效 ]
所以我使用 cmd 生成了 sha 1 密钥 它有效
- 转到java\jdk版本\bin文件夹
示例
C:\>cd C:\Program Files\Java\jdk1.8.0_121\bin
并输入
keytool -exportcert -keystore {path of sign jks key } -list -v
示例
keytool -exportcert -keystore F:\testkey\damithk.jks -list -v
对于 linux Ubuntu 打开终端并写入:-
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
不用写命令,您可以按照以下步骤复制SHA
- 打开Android工作室
- 打开您的项目
- 单击 Gradle(在右侧面板中,您将看到 Gradle 栏)
- 点击刷新(点击刷新自 Gradle 栏,您将看到列出您项目的 Gradle 个脚本)
- 单击您的项目(您的项目名称表单列表)
- 点击Tasks/Android
- 双击 signingReport(您将在 运行 栏中获得 SHA1 和 MD5)。
更新 Android Studio(2021 年 5 月 12 日)
- 点击Gradle右侧
- 单击大象图标并输入命令
gradle signingReport
按回车键
现在,您将在 运行 window 中看到 BUILD SUCCESSFUL,您可以从底部打开
只需向上滚动 window,您就会在那里找到您的 SHA1 密钥。
将此密钥添加到 firebase
- 在您的项目设置中,转到您的应用卡。
- Select 您要添加 SHA 指纹的 Firebase Android 应用。
- 点击添加指纹。
- 输入或粘贴 SHA 指纹,然后单击“保存”。
最后,在运行安装您的应用程序时,请检查您是否将运行配置更改为应用程序
否则只有 signingReport 任务会一次又一次地 运行ning。
运行 此命令来自您的 android
目录。
./gradlew signingReport
如果您不在 android
目录中,运行 改为:
cd android && ./gradlew signingReport
最简单也是最好的选择,只需在命令提示符下打开根目录,然后运行“gradlew signingReport”这个命令。
要获取发布证书指纹,请按照这个简单详细的步骤操作。
右键单击您的
android folder
add new file
将其命名为 'key.properties'。 (当然没有单引号)
添加这行
storePassword=any unique password
keyPassword=re-enter unique password
keyAlias=upload
storeFile= we'll put this later on
在您的终端上,添加以下内容并继续。
在 Mac/Linux
keytool -genkey -v -keystore ~/upload-keystore.jks -keyalg RSA -keysize 2048 -validity 10000 -alias upload
在 windows
keytool -genkey -v -keystore c:\Users\USER_NAME\upload-keystore.jks -storetype JKS -keyalg RSA -keysize 2048 -validity 10000 -alias upload
在密码上,输入您输入的唯一存储密码。
在证书信息上,将其留空并继续。最后,键入 yes 以确认您的信息并继续。
转到您的 upload-keystore.jks 文件所在的指定路径,复制该文件或将其移动到您的项目中。具体在这个文件夹下。
android/app
返回您的 key.properties 文件并指定 upload-keystore.jks 路径在 storeFile 下的位置。即
../app/upload-keystore.jks
转到
android/app/build.gradle
在文件上,单击
Open for Editing in Android Studio
New Window
在新的 window 终端上,添加
./gradlew signingReport
并继续。
搜索变体和配置都为
的结果
release
在那下面,就是你的发布密钥。
我正在尝试在 Firebase 中创建动态 link,当我选择 android 应用程序时,它显示一条错误消息 "Add SHA-1 to this android app",我已经添加了凭据,但我不确定我该如何 "add SHA-1 to the app"
这是怎么做到的?
android 工作室中的 SHA-1 代:
Select Gradle 在 android 工作室中来自右侧面板
Select 您的应用程序
在任务 -> android-> signingReport
双击signingReport
。
您将在“Gradle 控制台”
中找到 SHA-1 指纹在 firebase 控制台中添加此 SHA-1 指纹
或者您可以使用命令行获取您的 SHA-1 指纹:
对于您的调试证书,您应该使用:
keytool -list -v -keystore C:\Users\user\.android\debug.keystore -alias androiddebugkey -storepass android -keypass android
您应该将“c:\Users\user
”更改为 windows 用户目录的路径
如果您想为自己的证书获取生产 SHA-1,请将“C:\Users\user\.android\debug.keystore
”替换为您的自定义 KeyStore 路径,并使用您的 KeystorePass 和 Keypass 而不是 android/android。
然后声明 SHA-1
指纹,如 Damini 所说
以防万一:使用命令行生成SHA1指纹时,指定文件夹路径时要小心。 如果您的用户名或 android 文件夹路径有一个 space,您应该添加两个双引号,如下所示:
keytool -list -v -keystore "C:\Users\User Name\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android
如果您正在使用 Google Play App Signing,您需要使用 google 游戏中的 SHA1,因为 Google 会将您的发布签名密钥替换为 googles 服务器上的密钥
尝试在 CMD 中粘贴此代码:
keytool -list -v -alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore
MacOS 只需在终端中粘贴:
keytool -list -v -alias androiddebugkey -keystore ~/.android/debug.keystore -storepass android -keypass android
linux os 终端 运行 这个:
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass androi
在 Windows 上,打开命令提示符程序。您可以通过转到“开始”菜单来执行此操作
keytool -exportcert -list -v -alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore
在 Mac/Linux 上,打开终端并粘贴
keytool -exportcert -list -v -alias androiddebugkey -keystore ~/.android/debug.keystore
打开一个终端并运行使用Java提供的keytool实用程序来获取证书的SHA-1指纹。您应该同时获得发布和调试证书指纹。
获取发布证书指纹: keytool -exportcert -list -v \ -alias -keystore
如果您使用 Google Play App Signing,则无需手动添加 SHA-1 密钥,只需登录 Firebase 进入 "project settings"->"integration"然后按一个按钮 link Google 使用 firebase,SHA-1 将自动添加。
当我使用 android studio
生成 sha1 密钥 时Gradle -> Tasks -> android-> signingReport
和 双击
那个 sha1 密钥 在调试 模式下有效,但在我构建 singed APK[=37= 时无效 ]
所以我使用 cmd 生成了 sha 1 密钥 它有效
- 转到java\jdk版本\bin文件夹
示例
C:\>cd C:\Program Files\Java\jdk1.8.0_121\bin
并输入
keytool -exportcert -keystore {path of sign jks key } -list -v
示例
keytool -exportcert -keystore F:\testkey\damithk.jks -list -v
对于 linux Ubuntu 打开终端并写入:-
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
不用写命令,您可以按照以下步骤复制SHA
- 打开Android工作室
- 打开您的项目
- 单击 Gradle(在右侧面板中,您将看到 Gradle 栏)
- 点击刷新(点击刷新自 Gradle 栏,您将看到列出您项目的 Gradle 个脚本)
- 单击您的项目(您的项目名称表单列表)
- 点击Tasks/Android
- 双击 signingReport(您将在 运行 栏中获得 SHA1 和 MD5)。
更新 Android Studio(2021 年 5 月 12 日)
- 点击Gradle右侧
- 单击大象图标并输入命令
gradle signingReport
按回车键
现在,您将在 运行 window 中看到 BUILD SUCCESSFUL,您可以从底部打开 只需向上滚动 window,您就会在那里找到您的 SHA1 密钥。 将此密钥添加到 firebase
- 在您的项目设置中,转到您的应用卡。
- Select 您要添加 SHA 指纹的 Firebase Android 应用。
- 点击添加指纹。
- 输入或粘贴 SHA 指纹,然后单击“保存”。
最后,在运行安装您的应用程序时,请检查您是否将运行配置更改为应用程序 否则只有 signingReport 任务会一次又一次地 运行ning。
运行 此命令来自您的 android
目录。
./gradlew signingReport
如果您不在 android
目录中,运行 改为:
cd android && ./gradlew signingReport
最简单也是最好的选择,只需在命令提示符下打开根目录,然后运行“gradlew signingReport”这个命令。
要获取发布证书指纹,请按照这个简单详细的步骤操作。
右键单击您的
android folder
add new file
将其命名为 'key.properties'。 (当然没有单引号)
添加这行
storePassword=any unique password
keyPassword=re-enter unique password
keyAlias=upload
storeFile= we'll put this later on
在您的终端上,添加以下内容并继续。
在 Mac/Linux
keytool -genkey -v -keystore ~/upload-keystore.jks -keyalg RSA -keysize 2048 -validity 10000 -alias upload
在 windows
keytool -genkey -v -keystore c:\Users\USER_NAME\upload-keystore.jks -storetype JKS -keyalg RSA -keysize 2048 -validity 10000 -alias upload
在密码上,输入您输入的唯一存储密码。 在证书信息上,将其留空并继续。最后,键入 yes 以确认您的信息并继续。
转到您的 upload-keystore.jks 文件所在的指定路径,复制该文件或将其移动到您的项目中。具体在这个文件夹下。
android/app
返回您的 key.properties 文件并指定 upload-keystore.jks 路径在 storeFile 下的位置。即
../app/upload-keystore.jks
转到
android/app/build.gradle
在文件上,单击
Open for Editing in Android Studio
New Window
在新的 window 终端上,添加
./gradlew signingReport
并继续。
搜索变体和配置都为
的结果release
在那下面,就是你的发布密钥。