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 me voy solo, keyboard|keyboardHidden|orientation
no hay error, pero el compilador pide los 4 restantes cuando intento compilar.
Estoy usando GoogleAdMobAdsSDK-4.3.1
.
¿Algunas ideas?
EDITAR: Lo hice funcionar cambiando mi archivo project.properties ( default.properties en el 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 instalada.
También debería funcionar para la plataforma SDK 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 debe 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 que lo apuntan.
Respuestas:
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 está compilando al menos con Android v3.2 (establezca el destino en default.properties en android-13).
echa un vistazo aquí: https://developers.google.com/admob/android/quick-start
Así que creo que su versión de herramientas no se actualiza al menos a la Versión 13.
fuente
<uses-sdk android:minSdkVersion="7"/>
a la versión 8, 9, 10, 11, 12 ... todavía tengo el error ... también intenté eliminar la línea y todavía me da el error.The android:configChanges value of the com.google.ads.AdActivity must include screenLayout. The android:configChanges value of the com.google.ads.AdActivity must include uiMode. The android:configChanges value of the com.google.ads.AdActivity must include screenSize. The android:configChanges value of the com.google.ads.AdActivity must include smallestScreenSize. You must have AdActivity declared in AndroidManifest.xml with configChanges.
y donde está destinado el anuncio, aparece un cuadro negro con el último mensaje de error escrito en rojo.Unable to resolve target 'android-13'
. Aunque tengo "Android SDK Tools, revision 13" instalado en mi administrador de SDK ...Solución fácil: (¡y NO, no necesita cambiar el valor min-sdk!)
Paso 1: Cambiar el archivo "project.properties"
Paso 2: en Eclipse
Para obtener una explicación completa con ejemplos reales, use este tutorial http://www.monkeycoder.co.nz/Community/posts.php?topic=1121
Salud !
fuente
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 izquierdo "Explorador de paquetes" y haga clic en Propiedades -> Android -> y en la lista "Destino de compilación del proyecto" marque API 13 o superior.
Nota: este es el mismo efecto que la edición,
project.properties
que de todos modos se genera automáticamente.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
ytargetSdkVersion
los mismos en su Manifest.xml.Sin embargo , tenga en cuenta que si no configura su
targetSdkVersion
API 12 o inferior (o no la configura), el sistema Android asumirá que losandroid:configChanges
valoresscreenSize
ysmallestScreenSize
(que se introdujeron en API 13) se tienen en cuenta y, por lo tanto, serán permitido destruir-reiniciar su actividad. Si desea evitar esto, debe incluir esos términos en sus otras<activity>
etiquetas (que probablemente solo teníakeyboard|keyboardHidden|orientation
hasta ahora).La cita es de aquí .
fuente
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 de Admob, que ofrecen en el proyecto de muestra. Rehace lo de los frascos de compilación, cambia el objetivo a
android-15
y usa la misma línea que usan:¡Y funciona!
fuente
Usaste
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize
o uno más corto? Si cambia su objetivo por encima de 13 y usa configChanges más largo (que escribí), debería funcionar.
fuente
Solución fácil: cambie el archivo "project.properties" a 21
fuente
fuente