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

82

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

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

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

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

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

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

Я что-то пропустил?

Донал Рафферти
источник

Ответы:

95

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

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

Райан Конрад
источник
20
Оказывается, мои свойства, путь к классам и файлы проекта были установлены как недоступные для записи, поэтому это не сработало, теперь работает, спасибо
Донал Рафферти
3
Я столкнулся с той же проблемой. Контроль версий сделал файлы недоступными для записи и помешал переключению. Вы не получаете никаких предупреждений или указаний на наличие проблемы ... просто не переключается. Если другие столкнутся с этим, убедитесь, что вы «проверяете на редактирование» или какое-либо другое правильное действие в вашей библиотеке управления версиями.
Майкл Стоунер,
Любой способ установить параметр ПО УМОЛЧАНИЮ? С несколькими APK, это раздражает необходимость устанавливать это каждый раз ...
МБиллау,
@DonalRafferty, как проверить, доступны они для записи или нет? и как сделать их доступными для записи?
Мухаммад Бабар
@Muhammad Babar Я использовал безопасный Visual Source, который автоматически делал файлы только для чтения. Я просто снял флажок Только для чтения в файлах, в то время я использовал машину с Windows.
Донал Рафферти,
24
  1. Вы можете изменить цель сборки для своего проекта в любое время:

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

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

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

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

    Сохрани это

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

    Щелкните Проект в строке меню, выберите Очистить ...

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

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

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

Алан Уилл
источник
5
Совет: после выполнения всех этих шагов перезапустите Eclipse. Это может творить чудеса.
cimnine
Согласовано! Я не мог заставить это работать, пока Eclipse не был перезапущен.
Педро
В Android Studio мне пришлось объединить эти строки вместе. Не уверен, относится ли это к студии Android или формат манифеста требовал изменения с момента публикации. например: <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="21" />
Эрик Фарраро
@Alan: Я тупой, но где, черт возьми, ты щелкаешь эту первую точку ... Проводник пакетов ... Я нигде не вижу никаких свойств! : - (
Dariusz
11

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

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

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

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

Скотт К. Уилсон
источник
6

Есть три способа решить эту проблему.

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

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

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

xml:

<uses-sdk android:minSdkVersion="3" />
<uses-sdk android:targetSdkVersion="8" />
Ранг
источник
3

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

 <uses-sdk android:minSdkVersion="3" />
 <uses-sdk android:targetSdkVersion="8" />
стелс-вертолет
источник
3

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

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

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

Обновить:

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

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

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

Майк Уэй
источник
3

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

notBanana
источник
2

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

Use this syntax:
    <uses-sdk android:minSdkVersion="integer"
          android:targetSdkVersion="integer"
          android:maxSdkVersion="integer" />
javaProgrammer
источник
1

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

Adukra
источник
1

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

user1164035
источник
0

щелкните правой кнопкой мыши проект-> свойства-> android-> выберите имя цели - установите цель - нажмите ОК

Shubhamhackz
источник
0

согласно 2018, targetSdkVersion можно настроить app/build.gradleследующим образом:

android {
    compileSdkVersion 26
    buildToolsVersion '27.0.3'

    defaultConfig {
       ...
       targetSdkVersion 26
    }
    ...
}

если вы выберете 26 в качестве цели SDK, обязательно следуйте https://developer.android.com/about/versions/oreo/android-8.0-migration

Петр З
источник
0

чтобы получить sdk 29- android 10:

Щелкните Инструменты> Диспетчер SDK.

На вкладке SDK Platforms выберите Android 10 (29).

На вкладке SDK Tools выберите Android SDK Build-Tools 29 (или выше).

Нажмите ОК, чтобы начать установку.

Батшева
источник