Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.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
谷歌地图在android发布模式下不显示_Android_Google Maps - Fatal编程技术网

谷歌地图在android发布模式下不显示

谷歌地图在android发布模式下不显示,android,google-maps,Android,Google Maps,我的谷歌地图API有问题。在调试模式下工作正常。但在发布模式下,我得到了空白地图。我尝试将SHA1从调试密钥库更改为发布密钥库。对我的问题有什么想法吗?我也有同样的问题。你的钥匙有问题。重新生成密钥并重试 将apikey添加到debug>res>values>google\u maps\u api.xml 然后添加release>res>values>google\u maps\u api.xml 然后检查它是否工作 可能您有两个google_maps_api.xml文件,一个在app/src/

我的谷歌地图API有问题。在调试模式下工作正常。但在发布模式下,我得到了空白地图。我尝试将SHA1从调试密钥库更改为发布密钥库。对我的问题有什么想法吗?

我也有同样的问题。你的钥匙有问题。重新生成密钥并重试

将apikey添加到debug>res>values>google\u maps\u api.xml 然后添加release>res>values>google\u maps\u api.xml

然后检查它是否工作


可能您有两个google_maps_api.xml文件,一个在app/src/debug/res/values文件夹中,另一个在app/src/release/res/values文件夹中,但只有调试文件包含您的api密钥。

您是否生成了专用api密钥?这发生在我创建私有api密钥时,我使用不同的密钥库进行构建。

这是因为您使用调试密钥库为map生成Google api密钥

(假设您使用的是Android Studio) 执行以下步骤:

  • 生成SHA 1指纹,使用.jks文件作为发布模式

    a。开放安卓工作室

    b。打开你的项目

    c。单击渐变(从右侧面板,您将看到渐变栏)

    d。单击刷新(单击渐变栏中的刷新,您将看到项目的渐变脚本列表)

    e。单击您的项目(项目名称表单列表) 点击Tasks/Android

    f。双击signingReport(您将在运行栏中获得SHA1和MD5)

  • 在google_maps_api.xml中使用此键

  • 同步并生成已签名的APK
  • 你的地图正在工作

  • 如果有人面临同样的问题,我将分享我的解决方案。。。 我正在创建一个应用程序,我终于可以发布了。因此,我尝试在发布模式下运行,并获得了为构建变体版本设置signingConfigs所需的信息。一旦我这样做了,并配置了我的proguard-rules.pro文件,应用程序正在运行,太棒了!但是地图没有显示出来

    我发现有人在谈论密钥库和SHA1凭证,但我还不清楚。所以我记录了我必须设置一个键,以使我的映射在构建变体调试中工作,并且所有内容都在一起

    所以我学到的是调试和发布使用不同的SHA1凭据,一个密钥可以有多个与之相关的凭据。 当我按照这个链接为google maps设置密钥时,我获得了调试的SHA1凭据,因此为了使我的地图工作,我必须从发布版获得我的SHA1凭据,并将其添加到我的密钥中

    谷歌云平台控制台>“选择您的项目”>“单击左上角的汉堡图标”>API&服务>凭据>“单击用于调试模式的凭据”>限制对Android应用的使用>“从发布模式添加新的SHA1凭据”

    现在的问题是,如何从发布模式获取我的SHA1凭证? 如果您已经为build Varians版本设置了signingConfigs,那么您可能会得到一个keystore.jks文件。使用此文件,您可以通过进入bash并键入..来获取凭据

    keytool-list-v-keystore YOUR.PATH.TO.THE.keystore.FILE-别名YOUR.keystore.alias

    然后,他们会询问您密钥库密码并完成!
    现在,您可以在谷歌云平台控制台将您的SHA1凭证从发布模式复制并粘贴到您的密钥中。=)

    这些问题通常只有在使用不同的密钥库时才会发生。从发布密钥库文件中重新生成正确的SHA1,并使用正确的包名加载项控制台。我希望它能工作。我已经从发布密钥库中生成了SHA1,我得到了SHA1,并将其放在google developer中的credetial中。但它不起作用,我在调试和发布之间使用不同的密钥库。但对于发布密钥库,它使用.jks扩展名文件@RavindraKushwahaIf correct,然后在code.regenarate key中交叉检查控制台生成的APIKEY?还是APIKEY?有两种类型的证书。i、 e用于调试和发布。您必须使用发布证书进行生产。有关完整的指南,请参阅《拯救我的一天》。ThanksI只是将debug中的API键复制粘贴到我的发布>res>values>google_maps_API.xml。然后我转到google开发者控制台>API管理器>凭证,并将我的发布版SHA-1证书指纹添加到我的API密钥中。(在限制Android应用程序使用部分)