Error de Admob en Eclipse para Android: configChanges

Eclipse me está dando un error en la línea android: configChanges en mi AndroidManifest.xml:

 

el error es:

 error: Error: String types not allowed (at 'configChanges' with value 'keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize'). 

Si dejo solo la keyboard|keyboardHidden|orientation no hay ningún error, pero el comstackdor pregunta por los 4 restantes cuando bash y compilo.

Estoy usando GoogleAdMobAdsSDK-4.3.1 .

¿Algunas ideas?

EDITAR: Lo conseguí trabajando cambiando mi archivo project.properties ( default.properties en el SDK inferior a 14) a:

 # Project target. target=android-14 

y en mi Administrador de SDK teniendo instalada la Plataforma SDK Android 4.0 – Revisión 14 .

También debería funcionar para SDK Platform android 3.2 – revisión 13 , por lo que solo tiene que cambiar el objective project.properties a android-13 si ese es el caso. Básicamente, solo tiene que asegurarse de que la revisión del SDK sea 13 o superior, y que tenga ese SDK instalado en el administrador del SDK y el objective del proyecto en default / project.properties apuntando a él.

Respuesta simple: los cambios de configuración mencionados no son compatibles con Android 2.1, eche un vistazo aquí:

http://developer.android.com/guide/topics/manifest/activity-element.html#config

por ejemplo, uiMode necesita API Nivel 8.

De la documentación oficial de AdMob:

Requisitos

El SDK de anuncios de Google AdMob para Android requiere Android 1.5 o posterior. Asegúrese de tener la última copia del SDK de Android y de que comstack al menos Android v3.2 (establezca el objective en default.properties en android-13).

échele un vistazo aquí: https://developers.google.com/admob/android/quick-start

Por lo tanto, creo que la versión de sus herramientas no está actualizada, al menos, a la Versión 13.

Solución fácil: (¡y NO, no es necesario cambiar el valor min-sdk!)

Paso 1: Cambia el archivo “project.properties”

 # Project target. target=android-13 

Paso 2: en Eclipse

 Project > Clean... > (select your project) > Clean projects selected below > OK 

Para una explicación completa con ejemplos reales, use este tutorial http://www.monkeycoder.co.nz/Community/posts.php?topic=1121

¡Salud!

Para aquellos que usan Eclipse hay una manera más fácil: haga clic con el botón derecho en la carpeta del proyecto en el panel “Package Explorer” y haga clic en Propiedades -> Android -> y en la lista “Project Build Target” marque API 13 o superior.

Nota: este es el mismo efecto que editar project.properties que se genera automáticamente de todos modos.

Esto construirá su proyecto contra el SDK de Android 3.2 que incluye los términos que antes no se reconocían.

Puede dejar sus valores android:minSdkVersion y targetSdkVersion la misma manera en su Manifest.xml.

Sin embargo , ten en cuenta que si no configuras tu targetSdkVersion en API 12 o inferior (o no lo configuras en absoluto), el sistema Android supondrá que los valores de android:configChanges screenSize y smallestScreenSize (que se introdujeron en API 13) son contabilizado y, por lo tanto, se le permitirá destruir-reiniciar su actividad. Si desea evitar esto, debe incluir esos términos en sus otras tags (que probablemente solo tenían la keyboard|keyboardHidden|orientation hasta ahora).

Sin embargo, si su aplicación se dirige al nivel API 12 o inferior, su actividad siempre maneja esta configuración por sí misma (este cambio de configuración no reinicia su actividad, incluso cuando se ejecuta en un dispositivo con Android 3.2 o superior).

La cita es de aquí .

Tuve el mismo problema, así que vine aquí.
He descargado el código de muestra de https://developers.google.com/admob/android/quick-start , todavía tenía el problema con todas las respuestas anteriores, así que utilicé el mismo sdk admob, que ofrecen en el proyecto de muestra. Vuelva a hacer la operación de creación de jar, cambie el destino a android-15 y use la misma línea que usan:

  

¡Y funciona!

¿ android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|‌​screenSize|smallestScreenSize

o uno más corto? Si cambias tu objective por encima de 13 y usas configChanges más largo (que escribí), debería funcionar.

Solución fácil: cambie el archivo “project.properties” a 21

 # Project target. target=android-21 

Todas las nuevas aplicaciones de Android creadas después del 14 de octubre de 2011 requerirán un SDK de AdMob que se lanzó a partir del 15 de marzo de 2011. Esto corresponde a la versión 4.0.2+ para Android. Si descargó la biblioteca de nuestro sitio de descarga oficial, ya está configurado. De lo contrario, es posible que tenga una versión anterior del SDK de AdMob que se lanzó antes del 15 de marzo de 2011, y su nueva aplicación no recibirá ninguna impresión de anuncios hasta que actualice su SDK.