为不同的android应用程序使用一个Google Maps API密钥

为不同的android应用程序使用一个Google Maps API密钥,android,google-maps,google-maps-android-api-2,Android,Google Maps,Google Maps Android Api 2,我刚刚生成了谷歌地图API密钥,用于我的android应用程序。我必须为应用程序提供SHA-1指纹和软件包名称。它看起来像这样: BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75;com.example.android.mapexample BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75;com.example.android.mapexample BB

我刚刚生成了谷歌地图API密钥,用于我的android应用程序。我必须为应用程序提供SHA-1指纹和软件包名称。它看起来像这样:

BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75;com.example.android.mapexample
BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75;com.example.android.mapexample BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75;com.example.android.anotherapp BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75;com.example.temp.lastapp 如你所见,我必须提供应用程序的包名。那么,这是否意味着我需要为不同的应用程序获取不同的API密钥


PS:奇怪的是,不知怎的,Google为我输入的SHA-1和包名组合生成了两个API键。这正常吗?那么,我应该使用哪一个呢?

您可以对不同的包使用相同的SHA-1打印,但您必须为不同的应用程序制作不同的API密钥。是的,每次您提出请求时,Google都会生成一个新密钥。

您可以为不同的应用程序使用相同的密钥库和API密钥

  • 使用相同的密钥对应用程序进行签名
  • 在控制台页面中为每个应用程序添加一行
  • 比如说:

    BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75;com.example.android.mapexample
    
    BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75;com.example.android.mapexample BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75;com.example.android.anotherapp BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75;com.example.temp.lastapp BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75;com.example.android.mapexample BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75;com.example.android.anotherapp BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75;com.example.temp.lastapp
    现在,您可以对所有这些应用程序使用相同的API密钥。

    旧问题,但公认的答案与最佳实践背道而驰。您可以使用相同的API密钥,但最好不要使用。从:

    为不同的应用程序使用独立的API键。这限制了每个键的范围。如果API密钥被泄露,您可以删除并撤销受影响的密钥,而无需更新其他API密钥

    在Google云控制台中使用SHA1和包添加您的项目。 你完全可以为不同的Android应用程序使用相同的密钥。只需在下面添加所有应用程序包名称和SHA密钥。它将100%起作用

    如何得到SHA1? 我注意到,使用Android Studio生成时,SHA1键是相同的。 您可以通过Gradle signingReport任务生成SHA1密钥


    您甚至不必使用相同的签名密钥。您的调试签名密钥可能只有一个Google Maps Android API v2密钥和多个发布密钥。但为什么Google为我输入的一次击键提供了两个密钥呢?