Android 我可以在不注册软件包名称的情况下为我的所有应用程序提供一个Google Maps API密钥吗?

Android 我可以在不注册软件包名称的情况下为我的所有应用程序提供一个Google Maps API密钥吗?,android,google-maps,google-maps-android-api-2,Android,Google Maps,Google Maps Android Api 2,我已经编写了一个android库项目,其中包括基于GoogleMapsforAndroidV2 API的自定义MapFragments。在GoogleAPI控制台中,我已经用调试/签名证书注册了库的包名 我需要创建使用此库作为公共代码库的各种应用程序,我想知道是否有一种方法可以继续使用库的MapFragments,而不必在Google API控制台中添加每个应用程序的包名。我需要这个,因为我想自动化应用程序创建(与Jenkins一起),我不需要任何手动步骤,比如登录到API控制台并注册包名 到目

我已经编写了一个android库项目,其中包括基于GoogleMapsforAndroidV2 API的自定义MapFragments。在GoogleAPI控制台中,我已经用调试/签名证书注册了库的包名

我需要创建使用此库作为公共代码库的各种应用程序,我想知道是否有一种方法可以继续使用库的MapFragments,而不必在Google API控制台中添加每个应用程序的包名。我需要这个,因为我想自动化应用程序创建(与Jenkins一起),我不需要任何手动步骤,比如登录到API控制台并注册包名

到目前为止,我还没有找到这样做的方法。通配符不起作用(例如,在控制台中将com.mycompany.*作为包名),如果我没有明确注册每个应用程序的包名,则不会加载映射


是否有可能让MapFragments查找库的单个api键/包,而不是应用程序的?

没有办法做到这一点。如果您对所有应用程序使用相同的密钥,则每个应用程序的注册大约需要15秒。

它可以回答两种方式

我可以为我的所有应用程序提供一个Google Maps API密钥吗

是的,你可以 通过使用enter在多行中注册API密钥,如下所示:

但对于这个问题 我可以在不注册软件包名称的情况下为我的所有应用程序提供一个Google Maps API密钥吗

不,你不能


*编辑图像以便于阅读

以下是创建新API密钥时要完成的操作:

  • 单击“创建新Android密钥”按钮
  • 不要在包名称列表中输入任何内容
  • 单击创建
然后您应该看到AndroidApps:允许的任何应用程序,并且能够在所有应用程序中使用该映射API密钥,而无需在API控制台上进行任何配置


由于您可能已经为每个应用程序输入了证书指纹,只需单击“编辑允许的Android应用程序”,将它们全部从列表中删除,单击“更新”,就会显示允许任何应用程序使用该API密钥。

否。。。您必须指定包名。它可以识别您使用Map key注册的应用程序

对,我知道该过程非常快,但很难实现自动化,例如使用Jenkins。我会继续搜索,如果我什么也找不到,我想我得把你的答案标记为正确答案!我不知道这是否是真的,但几年来,事实并非如此:“注意:当使用标准API时,您可以为您的Google maps Android API应用程序和您的Google Places API for Androidapps使用相同的API键。”谢谢您的回答,但这当然不是我想要的。这是我注册密钥的自然方式,所有应用程序都有一个密钥。让我烦恼的是“没有注册每个应用的软件包”。如果你想把它和一个包放在一起(比如/*./*)。这是不可能的。通过这个软件包,谷歌可以将所有应用程序与开发者分离,这样谷歌就可以从开发者或使用大量谷歌API的公司那里筹集资金。另外,开发者可以将他们所有的应用程序分开,以避免与同一个键混淆。我简直不敢相信我竟然没有想过不添加任何软件包!这是我一直在寻找的正确答案!谢谢嘿,没问题。我不小心弄明白了这帮我省下了一大堆工作。当您设置api时,该语言意味着需要一个包,而它不是。这不再有效。有人可以更新答案吗?如果你没有输入限制(包名+SHA1),然后如果密钥通过反编译apk暴露给未经授权的人,那么他们可以在他们的应用程序中使用它,你将因密钥被盗而被收取费用。我不知道这是否属实,但几年来,情况并非如此:注意:使用标准API时,您可以对Google maps Android API应用程序和Google Places API for Androidapps使用相同的API键