android - 我是否必须为打捞的 android 地图应用程序重新生成新的 SHA-1 密钥?
问题描述
几天前我的电脑发生了严重的崩溃,当我来检查我的备份时,我发现它们大多由于某种原因被损坏了。但是,我已经设法挽救了我的大部分 android 应用程序地图源代码文件,这些文件基本上是 java 文件、资产、图像、布局和 AndroidManifest 文件,所以我想我可以通过一些工作来重新创建项目。不过,我的密钥库中没有任何文件。
但是,有几件事让我担心。据我记得,当您重新创建项目时,SHA-1 密钥是在 app > src > debug > res > values > google_maps_api.xml 和 app > src > release > res > values > google_maps_api.xml 中创建的。看起来我将不得不创建一个新项目,与旧项目具有相同的名称、包名等,并将打捞的文件导入其中。我不认为这会是个问题。
我已经在我的谷歌开发者控制台中拥有用于预崩溃调试和发布版本的 SHA-1 密钥。我必须使用全新的 SHA-1 密钥并将它们放在我的开发者控制台中(在我的项目 API 密钥下)还是可以使用旧的?
我想到的另一个问题是,当我将签名的应用程序上传到 google play 商店时,系统会提示我输入密码。但是,我的密钥库目录的内容已经消失,但我记得我用来创建签名应用上传密钥的密码。我该如何进行呢?
对于缺乏适当的术语或清晰度,我深表歉意,我只创建了一个应用程序,我不得不依靠我当时做的笔记,有时技术术语让我感到困惑。
编辑:为清楚起见;当我说“提示输入密码”时,我的意思是编译应用程序以创建一个签名的 apk 以上传到 playstore
解决方案
如果您有项目的加密密钥文件(不仅仅是它们的 SHA1 指纹)的备份,那么您应该能够将旧文件放在同一位置并继续使用它。Android Studio 还能够从其他位置导入/使用密钥库文件。
如果您拥有的只是 SHA1 指纹,那么您确实需要重新生成密钥。
供您参考,Android 开发人员的文档指出:
首次在 Android Studio 中运行或调试项目时,IDE 会自动在 $HOME/.android/debug.keystore 中创建调试密钥库和证书,并设置密钥库和密钥密码。
同样,当您按照 Google 的指南首次进行发布构建时,Android SDK 工具会生成发布证书。
希望这对您有所帮助。
推荐阅读
- youtube-api - playlistItems YouTube Data API v3 的 liveStreamingDetails
- laravel - Laravel Livewire - 选择后选择输入数据丢失
- java - 将 API 访问重定向到登录页面并返回 API - 保留数据
- c# - 如何修复 C# Source Generators 找不到引用的问题
- c# - 从控制台应用程序异步读取输出时应用程序 UI 冻结
- python - 使用 JSON 文件填充数据库,搜索值,仅返回匹配项。或者不同的东西
- amazon-web-services - AWS Fargate 无法解析私有 DNS 路由 53
- bash - 在bash中的while循环内连接字符串
- python - 使用 QTimer 更新 PlotWidget 的自定义 AxisItem
- typescript - 使用 CDK 为 lambda 函数构建 IAM 角色