Error de Admob en Eclipse para android: configChanges

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

<activity android:name="com.google.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"></activity> 

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 error, pero el compilador pide los 4 restantes cuando intento y construyo.

Estoy usando GoogleAdMobAdsSDK-4.3.1 .

¿Algunas ideas?

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

 # Project target. target=android-14 

Y en mi SDK Manager con la plataforma SDK Android 4.0 – Revisión 14 instalado.

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

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 de 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úrate de tener la última copia del SDK de Android y de que compites contra al menos Android v3.2 (establece el objetivo en default.properties en android-13).

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

Así que creo que la versión de sus herramientas no se actualiza al menos en la Versión 13.

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

Paso 1: Cambie 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 ejemplo real, utilice este tutorial http://www.monkeycoder.co.nz/Community/posts.php?topic=1121

Saludos!

Para aquellos que usan Eclipse hay una forma más fácil: Haga clic derecho en la carpeta del proyecto en el panel izquierdo de "Package Explorer" y haga clic en Properties -> Android -> y en la lista "Project Build Target" marque API 13 o superior.

Nota: este es el mismo efecto que la edición de 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.

Puedes dejar tus valores de android:minSdkVersion y targetSdkVersion iguales en tu Manifest.xml.

Sin embargo , si no establece su targetSdkVersion en API 12 o inferior (o no lo establece en absoluto), el sistema Android asumirá que los valores android:configChanges screenSize y smallestScreenSize (que fueron introducidos en API 13) son Y por lo tanto se le permitirá destruir-reiniciar su actividad. Si desea evitar esto, debe incluir esos términos en las otras etiquetas <activity> (que probablemente sólo tenían keyboard|keyboardHidden|orientation hasta ahora).

Sin embargo, si su aplicación se orienta al nivel de API 12 o inferior, su actividad siempre se encarga de este cambio de configuración (este cambio de configuración no reinicia su actividad, incluso cuando se ejecuta en un dispositivo Android 3.2 o superior).

Cita es de aquí .

Tuve el mismo problema, así que vine aquí.
He descargado el código de ejemplo de https://developers.google.com/admob/android/quick-start , todavía tenía el problema con todas las respuestas anteriores, así que usé el mismo addoc sdk, que ofrecen en el proyecto de ejemplo. Rehacer la construcción jars cosa, cambió de destino a android-15 , y utiliza la misma línea que utilizan:

 <activity android:name="com.google.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation"/> 

¡Y funciona!

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

O más corto? Si cambias tu objetivo por encima de 13 y usas configChanges más largo uno (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 para Android creadas después del 14 de octubre de 2011 requerirán un SDK de AdMob que se publicó el 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 publicó antes del 15 de marzo de 2011, y su nueva aplicación no recibirá ninguna impresión de anuncios hasta que actualice su SDK.

  • La depuración de Eclipse no funciona correctamente con el tiempo de ejecución de ART
  • Cómo obtener la documentación de la API de Android en Eclipse
  • Android Debuigging con Luna + Nexus 5 + Android 5 falla
  • Depurar el dispositivo android a través de Bluetooth
  • Desarrollo / implementación de Linux para Samsung Galaxy S3
  • Esta aplicación no se ejecutará a menos que actualice Google Play Services.
  • Hello-JNI para Android Studio
  • ¿Cómo cambiar el icono de una aplicación de Android en Eclipse?
  • No se puede abrir DDMS en Android Studio. Aparece el misterioso error de Eclipse
  • ¿Cómo puedo usar adb para desinstalar un APK de varios dispositivos conectados?
  • Quitar carpetas de DDMS
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.