Как изменить целевую сборку на проекте Android? - PullRequest
81 голосов
/ 27 июля 2010

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

Я создал его с целевой сборкой 1,5 (SDK 3).

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

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

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

Однако, похоже, это никак не сказывается, и при повторной попытке целевая сборка возвращается к Android 1.5.

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

Ответы [ 12 ]

94 голосов
/ 27 июля 2010

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

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

24 голосов
/ 12 октября 2011
  1. Вы можете изменить цель сборки для своего проекта в любое время:

    Щелкните правой кнопкой мыши проект в проводнике пакетов, выберите «Свойства», выберите «Android», а затем проверьте нужный проект.Цель.

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

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

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

    Сохраните его

  3. Перестройте ваш проект.

    Нажмите Project в строке меню, выберите Clean ...

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

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

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

11 голосов
/ 19 августа 2011

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

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

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

, он восстановит ваш build.xml, AndroidManifest.xml и т. Д.

6 голосов
/ 21 марта 2013

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

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

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

  3. Измените следующие элементы в файле AndroidManifest.xml

XML:

<uses-sdk android:minSdkVersion="3" />
<uses-sdk android:targetSdkVersion="8" />
3 голосов
/ 21 ноября 2011

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

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

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

Обновление:

Кажется, это работает:

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

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

3 голосов
/ 16 марта 2011

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

3 голосов
/ 27 июля 2010

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

 <uses-sdk android:minSdkVersion="3" />
 <uses-sdk android:targetSdkVersion="8" />
2 голосов
/ 26 апреля 2014

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

Use this syntax:
    <uses-sdk android:minSdkVersion="integer"
          android:targetSdkVersion="integer"
          android:maxSdkVersion="integer" />
1 голос
/ 07 февраля 2012

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

1 голос
/ 27 октября 2011

У меня тоже была эта проблема.Для меня сработало сначала отменить проверку ранее выбранной версии SDK, а затем проверить новую нужную версию.Затем нажмите ОК.

...