Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将SHA-1添加到android应用程序_Android_Firebase_Sha1_Firebase Dynamic Links - Fatal编程技术网

如何将SHA-1添加到android应用程序

如何将SHA-1添加到android应用程序,android,firebase,sha1,firebase-dynamic-links,Android,Firebase,Sha1,Firebase Dynamic Links,我试图在Firebase中创建一个动态链接,当我选择android应用程序时,会显示一个错误,上面写着“将SHA-1添加到此android应用程序”,我已经添加了一个凭据,但我不确定如何确切地“将SHA-1添加到此应用程序” 这是如何做到的?android studio中的SHA-1代: 从右面板中选择android studio中的Gradle 选择你的应用程序 在Tasks->android->signingReport中 双击签名报告 您将在“Gradle控制台”中找到SHA-1

我试图在Firebase中创建一个动态链接,当我选择android应用程序时,会显示一个错误,上面写着“将SHA-1添加到此android应用程序”,我已经添加了一个凭据,但我不确定如何确切地“将SHA-1添加到此应用程序”


这是如何做到的?

android studio中的SHA-1代:


  • 从右面板中选择android studio中的Gradle

  • 选择你的应用程序

  • 在Tasks->android->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
    
    您应该使用windows用户目录的路径更改“
    c:\Users\user

    如果您想为自己的证书获取生产SHA-1,请将“
    C:\Users\user\.android\debug.keystore
    ”替换为自定义密钥库路径,并使用密钥库和密钥传递而不是android/android


    而不是像Damini所说的那样声明您在firebase控制台上获得的
    SHA-1
    指纹,以防万一:在使用命令行生成SHA1指纹时,指定文件夹路径时要小心。 如果您的用户名或android文件夹路径有空格,则应添加两个双引号,如下所示:

    keytool -list -v -keystore "C:\Users\User Name\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android
    
    如果您正在使用,您需要使用google play的SHA1,因为google将用google服务器上的密钥替换您的发布签名密钥


    尝试在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操作系统终端运行以下命令:

      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应用程序签名,您不需要手动添加SHA-1密钥,只需登录Firebase进入“项目设置”->“集成”,然后按下按钮将Google Play与Firebase链接,SHA-1将自动添加。

    当我使用android studio生成sha1密钥时

    Gradle->Tasks->android->signingReport
    双击

    sha1键在调试模式下工作,但在构建签名APK时未工作

    因此,我使用cmd生成了sha1

    • 转到java\jdk version\bin文件夹
    范例

    C:\>cd C:\Program Files\Java\jdk1.8.0_121\bin
    
    keytool -exportcert  -keystore F:\testkey\damithk.jks -list -v
    
    和类型

    keytool -exportcert  -keystore {path of sign jks key } -list -v
    
    范例

    C:\>cd C:\Program Files\Java\jdk1.8.0_121\bin
    
    keytool -exportcert  -keystore F:\testkey\damithk.jks -list -v
    

    对于linux Ubuntu,打开终端并写入:-

    keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
    

    对于Copy SHA,您可以按照以下步骤操作,而不是编写命令

  • 开放安卓工作室
  • 打开你的项目
  • 单击渐变(从右侧面板,您将看到渐变栏)
  • 单击刷新(单击渐变栏中的刷新,您将看到项目的渐变脚本列表)
  • 单击您的项目(项目名称表单列表)
  • 点击Tasks/Android
  • 双击signingReport(您将在运行栏中获得SHA1和MD5)
  • 更新Android Studio(2021年5月12日)

  • 单击Gradle右侧
  • 单击大象图标并键入命令
  • 按回车键

    现在,您将在运行窗口中看到BUILD SUCCESSFUL,您可以从底部打开该窗口 只需向上滚动窗口,您就会在那里找到您的SHA1键。 将此密钥添加到firebase

  • 在项目设置中,转到应用程序卡
  • 选择要添加SHA指纹的Firebase Android应用程序
  • 单击添加指纹
  • 输入或粘贴SHA指纹,然后单击保存
  • 最后,在运行应用程序时,请检查是否将运行配置更改为应用程序
    否则,只有signingReport任务将一次又一次地运行。

    从您的
    android
    目录运行此命令

    ./gradlew signingReport 
    
    如果您不在android目录中,请运行以下命令:

    cd android && ./gradlew signingReport
    

    请检查以从android studio获取SHA-1密钥并将其添加到firebase项目中我已经获得了SHA-1密钥,但我不知道如何将其添加到我的firebase项目中,适用于android studio 4.2。请参阅stackoverflow.com/a/67546584/11365488请记住,在签名报告的输出中,复制版本和调试sha1。无法获取SHA,我花了一些时间才找到“选择渐变”,因为面板大小合适。:)Android Studio 3.3:单击Gradle面板中的大象图标,选择项目,在命令行中键入:“signingReport”,单击OK。对于搜索Gradle选项的任何人,窗口右侧垂直倾斜放置一个按钮“Gradle”。这需要更高。我完全没有意识到我的钥匙只是用来上传的,然后谷歌自己就辞职了。我花了整整一个上午才意识到这真的很有帮助!谷歌应用程序签名SHA1必须添加到您服务的SHA1列表中。Lifesaver!这一点应在报告中突出显示。他们在页面底部的提示和最佳实践中提到了这一点。但是,不清楚需要什么以及如何实现。必须使用上载密钥证书的SHA-1和SHA-256。谢谢,顺便说一句。您需要将CD刻录到java bin文件夹,keytool才能正常工作。对我来说,它是,
    C:\ProgramFiles\Android\jdk\microsoft\u dist\u openjdk\u 1.8.0.25\bin
    ,虽然你可能会直接在
    C:\ProgramFiles\java\…
    中安装一个通用java版本,因为我们知道链接Firebase和Google Play是完全正确的,但这是一个摆脱SHA代的超级简单的方法