Eclipse выдает ошибку в строке android: configChanges в моем AndroidManifest.xml:
<activity android:name="com.google.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"></activity>
ошибка:
error: Error: String types not allowed (at 'configChanges' with value 'keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize').
Если я оставлю только keyboard|keyboardHidden|orientation
ошибку, компилятор запросит 4 оставшихся при попытке сборки.
Я использую GoogleAdMobAdsSDK-4.3.1
.
Любые идеи?
РЕДАКТИРОВАТЬ: я получил его, изменив файл project.properties ( default.properties в SDK ниже 14) на:
# Project target.
target=android-14
и в моем диспетчере SDK с установленной SDK Platform Android 4.0 - Revision 14 .
Он также должен работать для SDK Platform android 3.2 - revision 13 , поэтому вам просто нужно изменить цель project.properties на android-13, если это так. В основном вам просто нужно убедиться, что версия SDK 13 или выше, и что у вас есть этот SDK, установленный в диспетчере SDK, и цель проекта в default / project.properties, указывающая на него.
Ответы:
Простой ответ: упомянутые изменения конфигурации не поддерживаются в Android 2.1, посмотрите здесь:
http://developer.android.com/guide/topics/manifest/activity-element.html#config
например, uiMode требует API уровня 8.
Из официальной документации AdMob:
Требования
SDK Google AdMob Ads для Android требует Android 1.5 или более поздней версии. Убедитесь, что у вас есть последняя копия Android SDK и что вы компилируете как минимум под Android v3.2 (установите target в default.properties на android-13).
посмотрите здесь: https://developers.google.com/admob/android/quick-start
Поэтому я думаю, что ваша версия инструментов не обновлена как минимум до версии 13.
источник
<uses-sdk android:minSdkVersion="7"/>
на версию 8, 9, 10, 11, 12 ... все еще есть ошибка ... также попытался удалить строку, но она все еще выдает ошибку.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.
И там, где должно быть объявление, я получаю черный ящик с последним сообщением об ошибке, написанным в нем красным.Unable to resolve target 'android-13'
. У меня в диспетчере SDK установлены «Инструменты Android SDK, ревизия 13» ...Простое решение: (и НЕТ, вам не нужно изменять значение min-sdk !!)
Шаг 1. Измените файл project.properties
Шаг 2: в Eclipse
Для полного объяснения с реальным примером используйте это руководство http://www.monkeycoder.co.nz/Community/posts.php?topic=1121
Ура!
источник
Для тех, кто использует Eclipse, есть более простой способ: щелкните правой кнопкой мыши папку проекта на левой панели «Package Explorer» и выберите «Свойства» -> «Android» -> и в списке «Project Build Target» отметьте API 13 или выше.
Примечание: это тот же эффект, что и редактирование,
project.properties
которое в любом случае создается автоматически.В результате ваш проект будет построен на основе Android 3.2 SDK, который включает термины, которые ранее не распознавались.
Вы можете оставить ваше
android:minSdkVersion
иtargetSdkVersion
значение то же самое в вашем Manifest.xml.Однако будьте осторожны , если вы не установите
targetSdkVersion
API 12 или ниже (или не установите его вообще), система Android будет считать, чтоandroid:configChanges
значенияscreenSize
иsmallestScreenSize
(которые были введены в API 13) учтены и, следовательно, будут разрешено уничтожить-перезапустить вашу деятельность. Если вы хотите избежать этого, вы должны включить эти термины в другие ваши<activity>
теги (которые, вероятно, были толькоkeyboard|keyboardHidden|orientation
до сих пор).Цитата отсюда .
источник
У меня была такая же проблема, поэтому я пришел сюда.
Я загрузил образец кода с https://developers.google.com/admob/android/quick-start , у меня все еще была проблема со всеми приведенными выше ответами, поэтому я использовал тот же admob sdk, который они предлагают в образце проекта. Повторите сборку jars, измените цель на
android-15
и используйте ту же строку, которую они используют:И это работает!
источник
Ты использовал
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize
или короче? Если вы измените цель выше 13 и используете более длинную конфигурацию configChanges (которую я написал), она должна работать.
источник
Простое решение: измените файл "project.properties" на 21.
источник
источник