android - 用于 React Expo 应用程序的 Windows 上的 Android 密钥签名?
问题描述
我目前正在关注本教程(https://medium.com/@inaguirre/react-native-login-with-google-quick-guide-fe351e464752)添加“使用 Google 登录”。我得到了适用于 iOS 的 OAuth 客户端 ID,但对于 Android,它需要 SHA-1 证书指纹。
我试过了:
openssl rand -base64 32 | openssl sha1 -c
和(我用完整的文件路径替换了“path-to-debug-or-production-keystore”)
keytool -keystore path-to-debug-or-production-keystore -list -v
但这些都不起作用。网上给出的很多建议都来自使用 Android Studio 的上下文,但我将 VS Code 用于 Expo 应用程序。
当我在命令提示符和 PowerShell 中运行第二个 keytool 命令时出现此错误。
keytool error: java.lang.Exception: Keystore file exists, but is empty: C:\Users\User\Desktop\app
java.lang.Exception: Keystore file exists, but is empty: C:\Users\User\Desktop\app
at sun.security.tools.keytool.Main.doCommands(Unknown Source)
at sun.security.tools.keytool.Main.run(Unknown Source)
at sun.security.tools.keytool.Main.main(Unknown Source)
我也试过跑步
keytool -keystore path-to-debug-or-production-keystore -list -v
在 Program Files/Java/jre1.8.0_241 文件夹中包含 keytool.exe 文件的文件夹中,但同样的错误。
有什么帮助吗?
谢谢
解决方案
在应用目录中运行此命令:
cd android && ./gradlew 签名报告
使用调试变体复制 sha1。
推荐阅读
- c++ - 只能在 operator=() 中修改的类成员的 C++ 模式
- azure-devops - 在构建时使用变量在 YAML 模板中进行条件插入 Azure DevOps
- php - Homestead 没有映射文件
- javascript - 路径映射根目录时找不到声明
- python - 如何在 Docker 容器中动态添加 Jenkins 用户和权限
- java - OneLogin MFA 设备与注册因素
- arrays - 带有多个表格的 Google 表格 IMPORTRANGE
- maven - Maven 构建失败但 Intellij 工作
- angular - 为什么这个 jasmine spy 和 callFake 不起作用?
- android - Flutter:通知图标显示白色圆圈