包名更改后,谷歌地图验证失败

时间:2013-11-18 08:06:49

标签: android google-maps api-key

我有一个带谷歌地图的Android应用程序,一切正常。

为了在Google Play中发布它,我从项目中更改了包名称(旧包com.exmaple ..)----- Android工具---重命名应用程序包

因此,我将使用我的新包名生成一个新的API密钥。

我用新密钥更改了清单。

     <meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="xxxxxxxxxxxxnew keyxxxxxxxxxxxxx" />

但是,它没有用。它说认证失败了。 有什么想法吗?我错过了一些步骤吗?

提前致谢!

5 个答案:

答案 0 :(得分:1)

如果您说您已使用API Console生成了新密钥并更改了应用程序中的API密钥,并更改了这两个权限中的软件包名称:

<permission android:name="your.application.package.permission.MAPS_RECEIVE"  
            android:protectionLevel="signature"/>
<uses-permission android:name="your.application.package.permission.MAPS_RECEIVE"/>

然后尝试从手机中删除您的应用程序,因为应用程序通常将旧密钥保存在缓存中,然后尝试重新安装它。

答案 1 :(得分:0)

由于您已重命名自己的软件包名称,因此会根据软件包名称和SHA1密钥生成Google API密钥,以便唯一标识每个应用程序。您需要重新生成API密钥,然后尝试将其应用于清单文件中。

答案 2 :(得分:0)

请查看文档

  

要使用Maps API访问Google地图服务器,您必须添加   Maps API是您的应用程序的关键。钥匙是免费的,你可以使用它   您调用Maps API的任何应用程序,它都支持   无限数量的用户。您从Google获取Maps API密钥   API控制台通过提供应用程序的签名证书和   它的包名。通过添加元素将密钥添加到应用程序   到你的应用程序的AndroidManifest.xml文件。

您更改了套餐名称,因此Google地图验证失败。请使用新包名重新生成新密钥。

答案 3 :(得分:0)

除了之前的答案。

确保通过发布密钥库而不是debug.keystore

签署API密钥

答案 4 :(得分:0)

如果您选中并发现在Google API中正确配置了包名称,请执行以下步骤

  1. 确保您的项目中没有引用旧版本 包裹名字。我在清单文件中更改了它但忘了更改 它在build.gradle文件中
  2. 删除项目中的.gradle文件夹导致gradle可能已兑现旧包名称
  3. Ctrl + Shift + F在整个项目中查找旧包名。确保没有任何痕迹
  4. 在测试设备上卸载应用以清除所有缓存数据
  5. 清理项目然后运行
  6. 这些步骤对我有用。