I had the same problem and I figured there wasn't any helpful answer around on the internet so hoping this should help everyone in the future.
When using GoogleMaps for Android
, you need two keys - debug and release.
The "debug" key is kind of a misleading term. This key is also to be used when you develop the app in Eclipse. So essentially, use the debug key for development, testing, debugging.
When you're ready to launch the app to Market, set the android:debuggable="false"
in the AndroidManifest.xml
and use the Signed API key.
When using the signed API key, the MapView
will show up ONLY when the app is installed from the Android Market
. So, installing the app from Eclipse
(Run As, Debug As, etc) or command line (adb install)
won't show the MapView
. Rest assured, once the app is in the Market - you download it and the MapView
will show up.
With the signed API key, if you deploy the app from Eclise, you will get a "Server returned 3, IOProcessing Exception 26" as a warning - just ignore it.
Note: Also ensure there are no duplicate instances of the same MapView. If your app needs "x" no. of MapView
s, generate "x" no. of new signed keys (one for each MapView) since GoogleMaps has a query limit for a single MapView
instance.
For getting both the keys, follow the steps for Obtaining API keys for GoogleMaps on Android.
Happy Coding!
UPDATE:
The link above for obtaining api keys is now a deprecated procedure. Refer Obtaining API keys for GoogleMaps Android API v2 going forward.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…