谷歌地图在模拟器上工作但不在真实设备上

时间:2015-11-13 08:49:21

标签: android google-maps android-emulator

我应用了google developer doc中提到的确切步骤来创建一个示例谷歌地图项目,一切都在模拟器上很好,但当我生成项目apk文件并在真实设备上启动它三星Galaxy S4谷歌地图没有显示它只显示一个空白背景,左下方的屏幕角出现了只有彩色Google徽标!!

可能是什么问题? Plz帮助。

4 个答案:

答案 0 :(得分:0)

它正在调试模式上运行模拟器,因为您使用的是在您的debug.keystore文件中注册的Google Map Api键。要将Google Map访问到真实设备,您必须使用用于生成apk文件的密钥库文件生成Google Map密钥。

答案 1 :(得分:0)

您是否在手机上安装了 Google设置应用。

google settings

检查这个 enter image description here

答案 2 :(得分:0)

生成已签名的APK时,您将获得.keystore.jks文件。实际上,您必须为您的应用程序创建指纹,稍后将其用于生成{{3}中的Android Key }。

现在您要做的是使用该命令生成SHA-1证书指纹

 keytool -list -v -keystore "path_to_jks_file.jks" -alias androiddebugkey -storepass android -keypass android

path_to_jks_file.jks中,您应该提供生成签名APK时获得的.jks文件的路径。

从谷歌开发者控制台获取你的Android密钥然后将其添加到清单

Google developer console

请务必将签名配置添加到build.gradle

signingConfigs {
        release {
            storeFile file("myreleasekey.jks")
            storePassword "password"
            keyAlias "MyReleaseKey"
            keyPassword "password"
        }
    }

enter image description here

Signing your application需要澄清。

详细解释Visit

AFAIK这些信息足以解决您的问题。如果有的话,请告诉我。

答案 3 :(得分:0)

请务必记住,构建发行版调试和发行模式通常具有不同的(.xml)值文件。 如果您使用链接资源文件(例如Google_maps_api.xml)来管理“地图Api密钥”,则需要使用相应的密钥更新这两个文件。

必须使用与上述相同的过程对密钥进行签名(使用.jks密钥库文件..etc)