我在Android Studio中处理的项目有一个非常烦人的问题。
我有另一位开发人员为我编写代码,部分应用程序都有Google地图视图。
当这个人给我发送原始代码时,我可以在Android Studio中打开项目,编译它,然后在设备上运行它,一切正常 - 除了Google地图是空白的 - 灰色屏幕,带有“Google”徽标在角落里。
如果此人向我发送了一个APK文件,我可以将其直接下载到我的手机上,它运行正常。地图显示和加载应该。
他发送的APK是从相同的代码编译的,但是在他的末尾编译。
我在SO上看到几个关于空白谷歌地图的问题,以及可能的代码解决方案 - 但是因为APK工作正常,它肯定不能成为代码问题吗?
我已确保所有Android Studio都更新到最新版本,但每次在我的机器上编译代码时,都会显示此空白地图。
有什么想法来解决这个问题?我在安装Android Studio时需要做些什么来加载地图,还是我需要加载或安装API?
这让我疯了,因为我无法直接对我的机器上的代码进行任何更改,并且需要总是让其他开发人员进行任何小的更改,然后在他的机器上编译并发送给我APK! p>
(PS:我们在不同的地方,所以只是比较我们的装置不是一种选择!)
答案 0 :(得分:1)
这是因为,谷歌地图api密钥仅为一个系统生成。您必须为您生成系统并将其添加到谷歌开发者控制台。
如果您使用的是android studio。 转到文件>>新>> Google>>谷歌地图活动
然后从值文件夹
打开google_maps_api.xml它会自动生成ssh密钥并创建一个google开发者控制台链接,您可以打开并获取密钥
<resources>
<!--
TODO: Before you run your application, you need a Google Maps API key.
To get one, follow this link, follow the directions and press "Create" at the end:
https://console.developers.google.com/flows/enableapi?apiid=maps_android_backend&keyType=CLIENT_SIDE_ANDROID&r=CB:41:8F:F6:BC:E8:AD:81:A1:77:3D:9B:E2:7D:06:55:E4:49:48:EE%3Bcom.map.example
You can also add your credentials to an existing key, using this line:
CB:41:8F:F6:BC:E8:AE:CB:41:8F:F6:BC:E8:AE;com.map.example
Alternatively, follow the directions here:
https://developers.google.com/maps/documentation/android/start#get-key
Once you have your key (it starts with "AIza"), replace the "google_maps_key"
string in this file.
-->
<string name="google_maps_key" translatable="false" templateMergeStrategy="preserve">
YOUR_KEY_HERE
</string>
</resources>
获得密钥后,您可以在AndroidManifest.xml中使用它
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="Axxxxxxxxxxxxxxxxx" /> // Ur API key from developers console
答案 1 :(得分:0)
可能是因为您使用不同的密钥库来运行应用程序。要求开发人员发送他用于构建apk的密钥库,并使用该密钥库并运行