今晚我花了很长时间试图弄清楚如何使在Android应用程序的调试版本中可以使用的Google Map在发行版中可以使用。出现了一些不同的问题。Stack Overflow帖子的一些片段有所帮助,但我认为列出整个过程的更多详细信息(包括我所遇到的问题)会很有用:
1)您如何/在何处指定与发行版本不同的内容?
2)如何运行获取发行版指纹所需的keytool可执行文件?
3)为什么在运行keytool时出现“ keystore文件存在但为空”错误?
1)如其他两个Stack Overflow帖子中所述,您可以在调试和发布版本中使用相同的Google API密钥,但必须在Google Developers Console中提供调试和发布密钥的指纹。
2)Google在该对话框中提到您需要运行
keytool -list -v -keystore mystore.keystore
但是,通过单击“了解更多”并进一步进行操作,您真正想要运行的是
keytool -exportcert -alias MY_RELEASE_KEY_ALIAS -keystore MY_FULL_PATH_TO_RELEASE_KEYSTORE_FILE -list -v
然后,将要求您输入密钥库密码。文档中未提及的一个地方是keytool程序所在的位置。它在您的JDK bin文件夹中。因此在Windows上,类似C:\ Program Files \ Java \ jdk1.8.0_20 \ bin
3)在Java bin文件夹中打开控制台窗口并按上述方式运行keytool之后,出现一个错误,提示“ keystore文件存在但为空”。最终,我意识到,当指定发布密钥库文件的完整路径时,即使文件夹中只有一个文件,我也只指定了文件夹名称,却忘记了包含实际的文件名。因此,上面的MY_FULL_PATH_TO_RELEASE_KEYSTORE_FILE应该包含.keystore文件名
毕竟,您将最终获得包括SHA1在内的多个指纹。您可以复制该文件,然后将其作为新行粘贴到允许的Android应用程序中,并在其包名的末尾用分号分隔,就像调试代码一样。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句