pruebas - Error de Admob en Eclipse para Android: configChanges
interstitial admob android studio (7)
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 ningún error, pero el compilador pregunta por los 4 restantes cuando intento 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 objetivo 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 objetivo del proyecto en default / project.properties apuntando a él.
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.
¿ android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|​screenSize|smallestScreenSize
o uno más corto? Si cambias tu objetivo por encima de 13 y usas configChanges más largo (que escribí), debería funcionar.
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 etiquetas <activity>
(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 http://developer.android.com/guide/topics/manifest/activity-element.html#config .
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 compila al menos Android v3.2 (establezca el objetivo 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!
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:
<activity android:name="com.google.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation"/>
¡Y funciona!
Solución fácil: cambie el archivo "project.properties" a 21
# Project target.
target=android-21