Eclipse me donne une erreur sur la ligne android: configChanges dans mon AndroidManifest.xml:
<activity android:name="com.google.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"></activity>
l'erreur est:
error: Error: String types not allowed (at 'configChanges' with value 'keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize').
Si je laisse seulement, keyboard|keyboardHidden|orientation
il n'y a pas d'erreur, mais le compilateur demande les 4 restants lorsque j'essaye de construire.
J'utilise GoogleAdMobAdsSDK-4.3.1
.
Des idées?
EDIT: Je l'ai fait fonctionner en changeant mon fichier project.properties ( default.properties sur le SDK inférieur à 14) en:
# Project target.
target=android-14
et dans mon SDK Manager ayant la plate-forme SDK Android 4.0 - Révision 14 installée.
Cela devrait également fonctionner pour SDK Platform android 3.2 - révision 13 , il vous suffit donc de changer la cible project.properties en android-13 si tel est le cas. En gros, vous devez simplement vous assurer que la révision du SDK est 13 ou supérieure, et que ce SDK est installé dans le gestionnaire de SDK et que la cible du projet dans default / project.properties pointe vers elle.
Réponses:
Réponse simple: les changements de configuration mentionnés ne sont pas pris en charge dans Android 2.1, regardez ici:
http://developer.android.com/guide/topics/manifest/activity-element.html#config
Par exemple, uiMode nécessite le niveau d'API 8.
À partir de la documentation officielle d'AdMob:
Exigences
Le SDK Google AdMob Ads pour Android nécessite Android 1.5 ou une version ultérieure. Assurez-vous que vous disposez de la dernière copie du SDK Android et que vous compilez au moins avec Android v3.2 (définissez la cible dans default.properties sur android-13).
jetez un œil ici: https://developers.google.com/admob/android/quick-start
Je pense donc que la version de vos outils n'est pas mise à jour au moins vers la version 13.
la source
<uses-sdk android:minSdkVersion="7"/>
pour la version 8, 9, 10, 11, 12 ... j'ai toujours l'erreur ... j'ai également essayé de supprimer la ligne et cela me donne toujours l'erreur.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.
Et là où l'annonce est censée être, j'obtiens une boîte noire avec le dernier message d'erreur écrit en rouge.Unable to resolve target 'android-13'
. J'ai installé "Android SDK Tools, révision 13" dans mon gestionnaire de SDK cependant ...Solution facile: (et NON, vous n'avez pas besoin de changer la valeur min-sdk !!)
Étape 1: modifier le fichier "project.properties"
Étape 2: dans Eclipse
Pour une explication complète avec un exemple réel, utilisez ce tutoriel http://www.monkeycoder.co.nz/Community/posts.php?topic=1121
À votre santé !
la source
Pour ceux qui utilisent Eclipse, il existe un moyen plus simple: cliquez avec le bouton droit sur le dossier de votre projet dans le volet de gauche "Explorateur de packages" et cliquez sur Propriétés -> Android -> et dans la liste "Project Build Target", cochez API 13 ou plus.
Remarque: c'est le même effet que l'édition
project.properties
qui est de toute façon générée automatiquement.Cela construira votre projet avec le SDK Android 3.2 qui inclut les termes qui n'étaient pas reconnus auparavant.
Vous pouvez laisser vos valeurs
android:minSdkVersion
ettargetSdkVersion
les mêmes dans votre Manifest.xml.Soyez averti cependant , si vous ne définissez pas votre
targetSdkVersion
API 12 ou inférieur (ou ne le définissez pas du tout), le système Android supposera que lesandroid:configChanges
valeursscreenSize
etsmallestScreenSize
(qui ont été introduites dans l'API 13) sont prises en compte et seront donc autorisé à détruire-redémarrer votre activité. Si vous vouliez éviter cela, vous devez inclure ces termes dans vos autres<activity>
balises (qui ne l'étaient probablement quekeyboard|keyboardHidden|orientation
jusqu'à présent).La citation est d' ici .
la source
J'ai eu le même problème alors je suis venu ici.
J'ai téléchargé l'exemple de code à partir de https://developers.google.com/admob/android/quick-start , j'ai toujours eu le problème avec toutes les réponses ci-dessus, j'ai donc utilisé le même sdk admob, qu'ils offrent dans l'exemple de projet. Refaites le truc de build jars, change la cible en
android-15
et utilise la même ligne qu'ils utilisent:Et il fonctionne!
la source
As-tu utilisé
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize
ou plus court? Si vous changez votre cible au-dessus de 13 et utilisez un configChanges plus long (que j'ai écrit), cela devrait fonctionner.
la source
Solution simple: remplacez le fichier "project.properties" par 21
la source
la source