Ошибка Admob в Eclipse для android: configChanges

Eclipse дает мне ошибку на строке android: configChanges в моем AndroidManifest.xml:

 

ошибка:

 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 .

Есть идеи?

EDIT: Я получил его работу, изменив мои project.properties ( default.properties на SDK ниже 14), чтобы:

 # Project target. target=android-14 

и в моем SDK-менеджере установлена платформа SDK Platform 4.0 4.0 – версия 14 .

Он также должен работать для SDK Platform android 3.2 – редакция 13 , поэтому вам просто нужно изменить цель project.properties на Android-13, если это так. В основном вам просто нужно убедиться, что версия SDK составляет 13 или выше, и что у вас есть SDK, установленный в менеджере SDK, и целевой объект проекта по умолчанию / project.properties, указывающий на него.

Простой ответ: упомянутые изменения конфигурации не поддерживают Android 2.1, посмотрите здесь:

http://developer.android.com/guide/topics/manifest/activity-element.html#config

Например, uiMode нуждается в уровне API 8.

Из официальной документации AdMob:

Требования

Для SDK Google AdMob для Android требуется Android 1.5 или новее. Убедитесь, что у вас установлена ​​последняя версия Android SDK и вы компилируете против Android v3.2 (установите цель в default.properties для android-13).

посмотрите здесь: https://developers.google.com/admob/android/quick-start

Поэтому я думаю, что ваша версия инструментов не обновляется, по крайней мере, до версии 13.

Простое решение: (и НЕТ вам не нужно менять значение min-sdk !!)

Шаг 1. Измените файл “project.properties”.

 # Project target. target=android-13 

Шаг 2: В Eclipse

 Project > Clean... > (select your project) > Clean projects selected below > OK 

Для полного объяснения с помощью реального примера используйте этот учебник http://www.monkeycoder.co.nz/Community/posts.php?topic=1121

Приветствия!

Для тех, кто использует Eclipse, есть более простой способ: щелкните правой кнопкой мыши папку проекта в левой панели «Проводник пакета» и выберите «Свойства -> 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) являются учитывается и, таким образом, будет разрешено уничтожить-перезапустить вашу деятельность. Если вы хотите избежать этого, вы должны включить эти термины в свои другие tags (которые, вероятно, до сих пор имели только keyboard|keyboardHidden|orientation ).

Однако, если ваше приложение нацелено на уровень API 12 или ниже, ваша деятельность всегда обрабатывает это изменение самой конфигурации (это изменение конфигурации не перезапускает вашу активность даже при работе на устройстве Android 3.2 или выше).

Цитата отсюда .

У меня была такая же проблема, поэтому я приехал сюда.
Я загрузил образец кода с https://developers.google.com/admob/android/quick-start , у меня все еще была проблема со всеми ответами выше, поэтому я использовал тот же admob sdk, который они предлагают в примере проекта. Верните вещи сборки, измените цель на android-15 и используйте ту же линию, которую они используют:

  

И это работает!

Вы использовали android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|‌​screenSize|smallestScreenSize

или короче? Если вы измените цель выше 13 и используете более длинные конфигурационные переменные (которые я написал), они должны работать.

Простое решение: измените файл “project.properties” на 21

 # Project target. target=android-21 

Все новые приложения для Android, созданные после 14 октября 2011 года, потребуют SDK AdMob, который был выпущен 15 марта 2011 года или после этой даты. Это соответствует версии 4.0.2+ для Android. Если вы загрузили библиотеку с нашего официального сайта загрузки, то вы уже настроены. В противном случае у вас может быть старая версия SDK AdMob, которая была выпущена до 15 марта 2011 года, и ваше новое приложение не будет получать показы объявлений до тех пор, пока вы не обновите свой SDK.

  • Как заставить Eclipse запрашивать аргументы командной строки
  • Внешняя папка вывода в eclipse
  • Как настроить размер шрифта для элемента дерева в проводнике пакетов в Eclipse?
  • Преобразовать существующий проект в проект Android в Eclipse?
  • Где можно найти более старые версии Eclipse ADT
  • Ошибка при создании apk - «Несколько файлов dex определяют Lcom / google / ads / Ad»
  • Не удалось конвертировать в формат Dalvik: невозможно выполнить dex: Java heap space
  • Как использовать существующую базу данных с Android-приложением
  • Панель действий Android, как добавить поддерживающую библиотеку v7 appcompat для Eclipse
  • findFragmentById для SupportMapFragment возвращает null в Android Studio
  • Заполненная активность ADT, созданная с использованием fragmentов.
  • Interesting Posts

    Размытие CSS на фоновом изображении, но не на содержании

    angularjs не может найти каталог шаблонов, колбу в качестве бэкэнд

    CreateProcess: нет такого файла или каталога

    «CompanyName.Foo» – это «пространство имен», но используется как «тип»,

    Java-настройка classpath

    Java: загрузка SSL Keystore через ресурс

    В чем разница между URI, URL и URN?

    Устранение неполадок использования центрального процессора с помощью процесса «Система»

    Что заставляет javac выдавать предупреждение «использует непроверенные или небезопасные операции»

    Почему диалоговое окно брандмауэра Mac OS X периодически появляется и исчезает само по себе (без ответа) под Snow Leopard?

    Как реализовать службу JAX-RS RESTful в системе JSF

    Как копировать аудиодиск в один файл?

    Лучше ли создать одноэлементный доступ к контейнеру единства или передать его через приложение?

    R форматов данных: RData, Rda, RDS и т. Д.

    Есть ли способ запустить git внутри Powershell?

    Давайте будем гением компьютера.