问题描述
我在我的项目中使用 Google Maps v2 API.在 Google Maps v2 中,调试/发布 API 密钥在 AndroidManifest.xml
中定义.我已经看到了链接,但在那个地图键被定义不在 AndroidManifest.xml
中的 xml 布局文件中.那么我可以在 AndroidManifest.xml
中为我的项目定义调试和发布密钥吗?
I'm using Google Maps v2 API in my project. In Google Maps v2 the debug/release API key is defined in AndroidManifest.xml
. I have seen the link but in that map key is defined in a xml layout file not in AndroidManifest.xml
. So can I define both debug and release keys for my project in AndroidManifest.xml
?
我想要在 AndroidManifest.xml
中这样的东西:
I want something like this in AndroidManifest.xml
:
如果是调试模式:
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="@string/debug_map_api_key"/>
如果是释放模式:
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="@string/release_map_api_key"/>
推荐答案
使用 build.gradle
buildTypes {
debug {
buildConfigField("String", "map_api_key", ""your debug map api key here"")
}
release {
buildConfigField("String", "map_api_key", ""your release map api key here"")
}
}
我使用以下步骤解决了这个问题:
I solved this issue using this steps:
在 Google Developer API 控制台中
In Google Developer API Console
- 点击
- 在 cmd.exe/终端中:
keytool -list -v -keystore mystore.keystore
- 密码:
android
- 现在输入
SHA1 key;package name
进行调试并按回车 - 输入
SHA1 key;包名
进行发布 - 点击
- Click on
- In cmd.exe/Terminal:
keytool -list -v -keystore mystore.keystore
- Password:
android
- Now enter
SHA1 key;package name
for debug and press enter - Enter
SHA1 key;package name
for release - Click on
现在在您的项目中使用此 API 密钥
Now use this API key your project
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="@string/common_map_api_key"/>
这篇关于Android:自动选择调试/发布 Maps v2 api 密钥?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!