Google map android api v2 falla en la aplicación

Estoy utilizando Eclipse helios y Android 4.1.2 he seguido la siguiente documentación https://docs.google.com/document/pub?id=19nQzvKP-CVLd7_VrpwnHfl-AE9fjbJySowONZZtNHzw y he hecho la codificación exactamente como se describe en tutorial.when i ejecutar Mi aplicación en el emulador que muestra "Esta aplicación no funcionará a menos que actualizar los servicios de Google Play", pero en el dispositivo real que es Sony Xperia que tiene google play servicios versión actualizada crahses con "La aplicación ha dejado de funcionar". Cualquier ayuda es apreciada.

Este es mi manifiesto

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.emeterfinalapp" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="11" android:targetSdkVersion="16" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_CORSE_LOCATION" /> <uses-feature android:glEsVersion="0x00020000" android:required="true"/> <permission android:name="com.example.emeterfinalapp.permission.MAPS_RECEIVE" android:protectionLevel="signature"/> <uses-permission android:name="com.example.emeterfinalapp.permission.MAPS_RECEIVE"/> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <uses-library android:name="com.google.android.maps"/> <activity android:name="com.example.emeterfinalapp.EmeterMainActivity" android:configChanges="orientation|keyboardHidden|screenSize" android:label="@string/app_name" android:theme="@style/FullscreenTheme" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.example.emeterfinalapp.EnterLocationActivity" android:label="@string/title_activity_enter_location" android:parentActivityName="com.example.emeterfinalapp.EmeterMainActivity" > <meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.emeterfinalapp.EmeterMainActivity" /> </activity> <activity android:name="com.example.emeterfinalapp.SelectLocation" android:label="@string/title_activity_select_location" android:parentActivityName="com.example.emeterfinalapp.EnterMainActivity" > <meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.emeterfinalapp.EnterMainActivity" /> </activity> </application> <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="my api key"/> </manifest> 

Aqui esta mi main.xml

  <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".SelectLocation" > <Button android:id="@+id/satellite_button" android:layout_width="250dp" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:layout_toRightOf="@+id/mapview_button" android:text="@string/satellitebuttontext" /> <fragment xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/map" android:layout_width="match_parent" android:layout_height="match_parent" class="com.google.android.gms.maps.SupportMapFragment" android:layout_below="@+id/satellite_button"/> <LinearLayout android:id="@+id/zoom" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" /> <Button android:id="@+id/mapview_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:text="@string/mapbuttontext" /> </RelativeLayout> 

Aquí está mi actividad

  package com.example.emeterfinalapp; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import com.google.android.gms.common.GooglePlayServicesUtil; import com.google.android.gms.maps.GoogleMap; import com.google.android.gms.maps.SupportMapFragment; public class SelectLocation extends FragmentActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_select_location); // Show the Up button in the action bar. getActionBar().setDisplayHomeAsUpEnabled(true); GooglePlayServicesUtil.isGooglePlayServicesAvailable(getApplicationContext()); GoogleMap map = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap(); } } 

He dado referencia de google_play_services lib a mi proyecto añadido google_play_service y android.support.v4 archivos jar en mi lib …. Por favor, si todavía estoy faltando anythng por favor guía ….

Tengo api clave que he añadido en maifest ver más arriba su editado ahora …

Amd aquí es el rastro de error de mi registro de teléfono

  I/ActivityManager( 282): Displayed com.example.emeterfinalapp/.EmeterMainActivity: +206ms I/ActivityManager( 282): Displayed com.example.emeterfinalapp/.EnterLocationActivity: +224ms W/InputDispatcher( 282): channel '2c3dbfd0 com.example.emeterfinalapp/com.example.emeterfinalapp.EmeterMainActivity (server)' ~ Consumer closed input channel or an error occurred. events=0x8 E/InputDispatcher( 282): channel '2c3dbfd0 com.example.emeterfinalapp/com.example.emeterfinalapp.EmeterMainActivity (server)' ~ Channel is unrecoverably broken and will be disposed! W/InputDispatcher( 282): Attempted to unregister already unregistered input channel '2c3dbfd0 com.example.emeterfinalapp/com.example.emeterfinalapp.EmeterMainActivity (server)' W/InputDispatcher( 282): channel '2c504fb8 com.example.emeterfinalapp/com.example.emeterfinalapp.EnterLocationActivity (server)' ~ Consumer closed input channel or an error occurred. events=0x8 E/InputDispatcher( 282): channel '2c504fb8 com.example.emeterfinalapp/com.example.emeterfinalapp.EnterLocationActivity (server)' ~ Channel is unrecoverably broken and will be disposed! W/InputDispatcher( 282): Attempted to unregister already unregistered input channel '2c504fb8 com.example.emeterfinalapp/com.example.emeterfinalapp.EnterLocationActivity (server)' 

Whoo … después de rascar ma cabeza durante tanto tiempo atlast tengo la solución primero hice la depuración con dispositivo real utilizando DDMS después de su documentación que es fabuloso, entonces descubrí el siguiente error

 12-12 15:08:29.458: E/AndroidRuntime(26382): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.emeterfinalapp/com.example.emeterfinalapp.SelectLocation}: android.view.InflateException: Binary XML file line #17: Error inflating class fragment 

Y luego después de unas pocas líneas más de código había otro error que era llamativo

 12-12 15:08:29.458: E/AndroidRuntime(26382): Caused by: java.lang.RuntimeException: API key not found. Check that <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="your API key"/> is in the <application> element of AndroidManifest.xml 

Y entonces me di cuenta de que mi código de clave api es un hijo de manifiesto no aplicación que el error anterior señaló y luego rectificé mi manifiesto a siguiente

 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.emeterfinalapp" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="11" android:targetSdkVersion="16" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_CORSE_LOCATION" /> <uses-feature android:glEsVersion="0x00020000" android:required="true"/> <permission android:name="com.example.emeterfinalapp.permission.MAPS_RECEIVE" android:protectionLevel="signature"/> <uses-permission android:name="com.example.emeterfinalapp.permission.MAPS_RECEIVE"/> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <uses-library android:name="com.google.android.maps"/> <activity android:name="com.example.emeterfinalapp.EmeterMainActivity" android:configChanges="orientation|keyboardHidden|screenSize" android:label="@string/app_name" android:theme="@style/FullscreenTheme" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.example.emeterfinalapp.EnterLocationActivity" android:label="@string/title_activity_enter_location" android:parentActivityName="com.example.emeterfinalapp.EmeterMainActivity" > <meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.emeterfinalapp.EmeterMainActivity" /> </activity> <activity android:name="com.example.emeterfinalapp.SelectLocation" android:label="@string/title_activity_select_location" android:parentActivityName="com.example.emeterfinalapp.EnterMainActivity" > <meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.emeterfinalapp.EnterMainActivity" /> </activity> <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="my api key"/> </application> 

Y luego fue como un zoom y everythng funcionó perfectamente … La depuración con dispositivo real ayudó mucho …

He estado usando la aplicación Android Log Viewer (logcat) para recopilar los registros de aplicaciones desde el teléfono y parece funcionar bastante bien.

  • Cómo utilizar RouteBoxer.js para Google Map en Android
  • INSTALL_FAILED_MISSING_SHARED_LIBRARY un proplem de emulador de android
  • Cómo utilizar Viewport Marker Management en Android
  • Obtener Lat Lang de un place_id devuelto por autocompletar lugar api
  • ¿Cómo obtener la duración de la navegación con el tráfico de google maps api?
  • Dibujar línea punteada en google maps v2 en lugar de sólido
  • MapActivity no se puede resolver con un tipo, ni siquiera con el objetivo de API de Google
  • Google Maps V2 mostrando una pantalla en blanco
  • Cómo obtener un marcador de mapa por su ID en Google Maps v2
  • Adición de botones para correlacionar infowindow android
  • Hacer TileOverlays transparente
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.