Как изменить целевую сборку на проекте Android?

В настоящее время у меня есть проект Android в Eclipse.

Я создал его с целевой строкой 1.5 (sdk 3).

Теперь я хочу изменить его так, чтобы он имел minSdk из 3 и targetSdk из 8.

Для этого я вижу, что я должен строить против новейшего SDK (2.2)

Чтобы сделать это в Eclipse, я нажимаю правой кнопкой мыши на свой проект, перехожу к свойствам, нажимаю на Android и меняю цель сборки проекта на Android 2.2 и нажимаю Apply, а затем ok.

Однако это, похоже, не влияет, и когда я снова его попробую, целевая сборка настроена на Android 1.5.

Я пропустил какой-то шаг или что-то еще?

Ответ 1

Щелкните правой кнопкой мыши проект и выберите "Свойства". Затем выберите "Android" из дерева слева. Затем вы можете выбрать целевую версию справа.

(Обратите внимание, что в соответствии с популярным комментарием ниже убедитесь, что ваши свойства, classpath и файлы проекта доступны для записи, иначе он не будет работать)

Ответ 2

  • Вы можете изменить свою цель сборки для своего проекта в любое время:

    Щелкните правой кнопкой мыши проект в Проводнике пакетов, выберите "Свойства", выберите "Android" и затем проверьте желаемую цель проекта.

  • Отредактируйте следующие элементы в файле AndroidManifest.xml(он находится в корневом каталоге проекта)

    В этом случае это будет:

    <uses-sdk android:minSdkVersion="3" />
    <uses-sdk android:targetSdkVersion="8" />
    

    Сохранить

  • Восстановите свой проект.

    Нажмите "Проект" в строке меню, выберите "Очистить"...

  • Теперь запустите проект еще раз.

    Щелкните правой кнопкой мыши название проекта, перейдите в раздел "Запуск от имени" и выберите "Приложение для Android"

Кстати, обзор Управление проектами из Eclipse с помощью ADT будет полезен. Особенно это называется "Создание проекта Android".

Ответ 3

Другим способом в командной строке, если вы используете ant, является использование android.bat script (Windows) или андроида script (Mac). Это в $SDK_DIR/tools.

Если вы скажете,

android.bat update project --path .  --target "android-8"

он будет регенерировать ваш build.xml, AndroidManifest.xml и т.д.

Ответ 4

Существует три способа решения этой проблемы.

  • Щелкните правой кнопкой мыши проект и выберите "Свойства". Затем выберите "Android" слева. Затем вы можете выбрать целевую версию с правой стороны.

  • Щелкните правой кнопкой мыши Project и выберите "run as", затем откроется раскрывающийся список.
    Выберите "Запустить конфигурацию" в раскрывающемся списке. Затем форма будет открыта, Выберите вкладку "Цель" в "Форме", а также выберите "Версия Android Api", На котором вы хотите выполнить свое приложение, это самый быстрый способ проверить ваше приложение в другой целевой версии.

  • Отредактируйте следующие элементы в файле AndroidManifest.xml

XML:

<uses-sdk android:minSdkVersion="3" />
<uses-sdk android:targetSdkVersion="8" />

Ответ 5

Хорошо, я согласен с Райаном Конрадом в том, как это сделать в eclipse, вы гарантировали, что вы изменили свой manifest.xml?

 <uses-sdk android:minSdkVersion="3" />
 <uses-sdk android:targetSdkVersion="8" />

Ответ 6

Файл default.properties по умолчанию доступен только для чтения, и это сработало для меня.

Ответ 7

Проблема иногда возникает, когда в проекте есть ошибки.

Например, если ваш проект настроен с целевым значением 3.2, но библиотеки 3.2 недоступны, вы не сможете изменить версию до 4.0!

Обычное (возможно, жестокое) решение, которое я использую, - это создать новый проект с правильной целью и скопировать src, res и manifest в новый проект.

Update:

Это работает:

  • Измените выбранные свойства сборки как обычно.
  • Вручную отредактировать свойства project.properties и default.properties, чтобы убедиться они оба отражают желаемую цель.
  • Закройте проект и откройте его.

Я всегда запускаю Android Tools | Исправьте свойства проекта после внесения любых изменений в цель сборки.

Ответ 8

В вашем файле не должно быть нескольких тегов "uses-sdk". ref - docs

Use this syntax:
    <uses-sdk android:minSdkVersion="integer"
          android:targetSdkVersion="integer"
          android:maxSdkVersion="integer" />

Ответ 9

У меня тоже была эта проблема. Что для меня работало, прежде всего, чтобы сначала проверить ранее выбранную версию SDK, прежде чем проверять новую желаемую версию. Затем нажмите "ОК".

Ответ 10

Как говорит Майк. Измените цель, прежде чем делать что-либо в своем проекте, для чего требуется более высокая цель, например, android: installLocation = "auto".

Ответ 11

щелкните правой кнопкой мыши project- > properties- > android- > выберите целевое имя --set target - щелкните ok