Eclipse gibt mir einen Fehler in der Zeile android: configChanges in meiner AndroidManifest.xml:
<activity android:name="com.google.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"></activity>
Der Fehler ist:
error: Error: String types not allowed (at 'configChanges' with value 'keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize').
Wenn ich nur keyboard|keyboardHidden|orientation
gehe, gibt es keinen Fehler, aber der Compiler fragt nach den 4 verbleibenden, wenn ich versuche zu bauen.
Ich benutze GoogleAdMobAdsSDK-4.3.1
.
Irgendwelche Ideen?
BEARBEITEN: Ich habe es zum Laufen gebracht, indem ich meine Datei project.properties ( default.properties in SDKs unter 14) in Folgendes geändert habe :
# Project target.
target=android-14
und in meinem SDK-Manager , auf dem die SDK-Plattform Android 4.0 - Revision 14 installiert ist.
Es sollte auch für SDK Platform Android 3.2 - Revision 13 funktionieren , sodass Sie in diesem Fall nur das Ziel project.properties in android-13 ändern müssen . Grundsätzlich müssen Sie nur sicherstellen, dass die SDK-Version 13 oder höher ist und dass Sie das SDK im SDK-Manager installiert haben und das Projektziel in default / project.properties darauf verweisen.
Antworten:
Einfache Antwort: Die genannten Konfigurationsänderungen werden in Android 2.1 nicht unterstützt. Schauen Sie hier:
http://developer.android.com/guide/topics/manifest/activity-element.html#config
zB benötigt uiMode API Level 8.
Aus der offiziellen AdMob-Dokumentation:
Bedarf
Für das Google AdMob Ads SDK für Android ist Android 1.5 oder höher erforderlich. Stellen Sie sicher, dass Sie über die neueste Version des Android SDK verfügen und mindestens Android v3.2 kompilieren (setzen Sie das Ziel in default.properties auf android-13).
Schauen Sie hier: https://developers.google.com/admob/android/quick-start
Daher denke ich, dass Ihre Tool-Version nicht auf mindestens Version 13 aktualisiert wurde.
quelle
<uses-sdk android:minSdkVersion="7"/>
auf Version 8, 9, 10, 11, 12 gewechselt ... habe immer noch den Fehler ... habe auch versucht, die Zeile zu entfernen und es gibt mir immer noch den Fehler.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.
Und wo die Anzeige sein soll, erhalte ich eine Blackbox mit der letzten rot geschriebenen Fehlermeldung.Unable to resolve target 'android-13'
. Ich habe "Android SDK Tools, Revision 13" in meinem SDK-Manager installiert ...Einfache Lösung: (und NEIN, Sie müssen den min-sdk-Wert nicht ändern !!)
Schritt 1: Ändern Sie die Datei "project.properties"
Schritt 2: In Eclipse
Für eine vollständige Erklärung mit einem realen Beispiel verwenden Sie dieses Tutorial http://www.monkeycoder.co.nz/Community/posts.php?topic=1121
Prost !
quelle
Für Benutzer von Eclipse gibt es einen einfacheren Weg: Klicken Sie mit der rechten Maustaste auf Ihren Projektordner im linken Bereich "Paket-Explorer" und klicken Sie auf Eigenschaften -> Android ->. Aktivieren Sie in der Liste "Projekt-Build-Ziel" die Option API 13 oder höher.
Hinweis: Dies ist der gleiche Effekt wie die Bearbeitung,
project.properties
die ohnehin automatisch generiert wird.Dadurch wird Ihr Projekt mit dem Android 3.2 SDK erstellt, das die zuvor nicht erkannten Begriffe enthält.
Sie können Ihre
android:minSdkVersion
und verlassentargetSdkVersion
Werte in Ihrer Manifest.xml belassen.Seien Sie jedoch gewarnt , wenn Sie Ihre nicht
targetSdkVersion
auf API 12 oder niedriger einstellen (oder überhaupt nicht einstellen), geht das Android-System davon aus, dass dieandroid:configChanges
WertescreenSize
undsmallestScreenSize
(die in API 13 eingeführt wurden) berücksichtigt werden und somit berücksichtigt werden darf deine Aktivität zerstören - neu starten. Wenn Sie dies vermeiden möchten, müssen Sie diese Begriffe in Ihre anderen<activity>
Tags aufnehmen (die wahrscheinlich nurkeyboard|keyboardHidden|orientation
bis jetzt vorhanden waren).Zitat ist von hier .
quelle
Ich hatte das gleiche Problem, also kam ich hierher.
Ich habe den Beispielcode von https://developers.google.com/admob/android/quick-start heruntergeladen. Ich hatte immer noch das Problem mit allen obigen Antworten, also habe ich das gleiche Admob SDK verwendet, das sie im Beispielprojekt anbieten. Wiederholen Sie die Build Jars-Sache, ändern Sie das Ziel in
android-15
und verwenden Sie dieselbe Zeile, die sie verwenden:Und es funktioniert!
quelle
Hast du benutzt
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize
oder kürzer? Wenn Sie Ihr Ziel über 13 ändern und einen längeren configChanges verwenden (den ich geschrieben habe), sollte es funktionieren.
quelle
Einfache Lösung: Ändern Sie die Datei "project.properties" in 21
quelle
quelle