是否可以在相同的代碼庫中爲Google Maps Android API指定多個密鑰?同一個Android項目中的多個API密鑰
看起來我每次更改密鑰庫時都必須更改清單文件中的密鑰。這不是很方便,如果你需要測試使用密鑰形式調試和發佈密鑰庫的應用程序。
是否可以在相同的代碼庫中爲Google Maps Android API指定多個密鑰?同一個Android項目中的多個API密鑰
看起來我每次更改密鑰庫時都必須更改清單文件中的密鑰。這不是很方便,如果你需要測試使用密鑰形式調試和發佈密鑰庫的應用程序。
我不認爲這是你想要做的。您應該在Google Developer API Console上將調試和發佈SHA1密鑰添加到API密鑰。看看this answer
據我所知,沒有對這樣做沒有的程序化形式。對於comodity,您可以在strings.xml中定義的API密鑰,並從清單
String debugMapKey = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
String releaseMapKey = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
String mapKey = BuildConfig.DEBUG ? debugMapKey : releaseMapKey;
MapView mv = new MapView(this, mapKey);
我在清單中添加都鍵一次檢索。像這樣
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
..
android:versionCode="1"
android:versionName="1.0" >
<!-- RELEASE key -->
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="my-release-keu" />
<!-- DEBUG key -->
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="my-debug-key" />
</application>
</manifest>
顯然,這是有效的。看起來Google代碼足夠聰明,可以自動使用相關密鑰。
這可能聽起來很奇怪,但是您必須將您的密鑰置於**完全相同的順序**,因爲它們在API控制檯頁面上顯示爲 –
謝謝您指出解決方案。 – Bobrovsky