Изменение уровня API Android Studio


414

Я хочу изменить минимальную версию SDK в Android Studio с API 12 на API 14. Я попытался изменить ее в файле манифеста, т.е.

<uses-sdk
    android:minSdkVersion="14"
    android:targetSdkVersion="18" />

и перестройку проекта, но я все еще получаю IDE Android Studio, которая выдает некоторые ошибки. Я предполагаю, что мне нужно установить min SDK в «свойствах проекта» или что-то подобное, чтобы среда IDE распознала изменение, но я не могу найти, где это делается в Android Studio.


1
что это за ошибки? мы не можем помочь вам без logcat
Arash GM

1
Это не ошибки компиляции. Это среда IDE, подчеркивающая красную линию, когда я пытаюсь использовать `GridLayout 'в макете XML, т. Е. Сообщающая, что требуется минимальный уровень API 14. Поэтому в Android Studio должно быть место, где вы можете установить минимальный уровень API после создания проекта. Я видел похожие посты для Eclipse, но не для Android Studio.
Джеймс Б.

Вы установили пакет API SDK уровня 14?
Рамарал

Если я начинаю новый проект и с самого начала выбираю уровень API 14, у меня нет проблем с разработкой в ​​Android Studio, т. Е. У меня должен быть установлен API уровня 14 SDK. Однако, если я просто хочу обновить существующий проект, чтобы использовать как минимум API 14, я не могу понять, где в графической среде IDE Android Studio я скажу ему сделать это.
Джеймс Б.

Опубликуйте свой Logcat. и изменить MinSDKVersionэто самое простое решение, которое вы уже пробовали .. iechange вManifest
Mitesh Shah

Ответы:


582

Когда вы хотите обновить minSdkVersion в существующем проекте ...

  1. Обновлениеbuild.gradle(Module: app) - убедитесь, что это тот, который находится под Gradle Script, и это не так build.gradle(Project: yourproject) .

Пример build.gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 28
    buildToolsVersion "28.0.2"

    defaultConfig {
        applicationId "com.stackoverflow.answer"
        minSdkVersion 21
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}

dependencies {
    androidTestCompile 'junit:junit:4.12'
    compile fileTree(dir: 'libs', include: ['*.jar'])
}
  1. Кнопка синхронизации Gradle (обновить все проекты Gradle также работает)

Для начинающих в Android Studio «Синхронизировать кнопку Gradle» находится в Сервис -> Android -> Синхронизировать проект с файлами Gradle «Восстановить проект» Создать -> Восстановить проект

  1. Перестроить проект

После обновления build.gradle «S minSdkVersion, вы должны нажать на кнопку , чтобы синхронизировать Gradle файл („Синхронизация проекта с Gradle файлов“). Это очистит маркер.

Обновление manifest.xml , например, для удаления любых ссылок на уровни SDK в файле манифеста, больше не требуется в Android Studio.


7
Build.gradle моего проекта пуст? Какой синтаксис для обновления? --- Упс, есть два файла build.gradle. Я нашел в -> src версии и т. Д.
mobibob

4
Используя этот совет, мне удалось синхронизировать вещи, но мне пришлось выйти из Android Studio, прежде чем компиляция прошла без ошибок. Я выполнил много маленьких шагов, поэтому я не знаю, что на самом деле было необходимым шагом.
Мобибоб

5
почему они сделали так болит мяч? кажется, помните, в затмении мне нужно было сделать это только в одном месте ...
Дин Уайлд,

1
@DeanWild В Android Studio также в одном месте. Забудьте об уровнях API в файле манифеста.
Сотти

2
Для начинающих в Android Studio «Синхронизировать кнопку Gradle» находится в Tools -> Android -> Sync Project with Gradle Files«Перестроить проект»Build -> Rebuild Project
CGR

169

Для пользователей Android-студии:

  1. щелкните правой кнопкой мыши каталог приложений
  2. выберите опцию «настройка модуля»
  3. изменить платформу ADK как то, что вам нужно
  4. Нажмите Применить

Gradle восстановит проект автоматически.


3
Приведенное выше решение для меня - лучший путь. Позвольте инструменту внести все необходимые изменения, если вы сами возитесь с разными файлами, рискуете испортить вещи или забыть важные детали.
GeertVc

2
Это не работает в Studio 0.8.2. Вы можете изменить настройки и нажать aplly, но студия проигнорирует это. <br/> Решение: - Закройте Android Studio - Отредактируйте "/app/build.gradle" - измените запись SDK-MinVersion - автоматически перезапустите синхронизацию Android Studio Gradle
Мартин

В Studio 1.4 нужно смотреть во вкладке «Ароматы». Смотри ответ priyankvex.
Янник

В Studio 3.5 вам нужно перейти на вкладку «Конфигурация по умолчанию». Вкладка Flavors больше не существует.
Сумма отсутствует

135

Поскольку сейчас Android Studio стабильна, есть простой способ сделать это.

  1. Щелкните правой кнопкой мыши на файле вашего проекта
  2. Выберите «Открыть настройки модуля»
  3. Перейдите на вкладку «Ароматы».

введите описание изображения здесь

  1. Выберите Min SDK Version из выпадающего списка

PS: Хотя на этот вопрос уже был дан ответ, но Android Studio немного изменилась в связи с его стабильной версией. Так что простой прямой путь поможет любому новичку приземлиться здесь.


1
Редактирование файлов Gradle не работает для меня, но это сработало. Спасибо!
Al0x

1
Это снова изменилось: вкладки «Ароматы» больше нет. Вместо этого на шаге 3 в области «Параметры проекта» нажмите «Модули», а затем в раскрывающемся списке «Уровень проекта» выберите версию API. Это не то же самое, что установка минимальной версии API, а скорее версия, которая будет использоваться для сборки приложения.
hamx0r

Это должен быть принятый ответ. Наименее новая версия Android Studio
Vivekanand

3
Я получаю api 23 в выпадающем
списке

1
немного? эта fking IDE сильно меняется между версиями, вызывая много перерывов в работе старого кода. Очень жалкий по сравнению с наследием обратной совместимости, примером которого является Microsoft.
user30478

10

В андроид студии вы можете легко нажать:

  1. Ctrl+ Shift+ Alt+ S.
  2. Если у вас более новая версия android studio, то сначала нажмите на приложение. Затем перейдите к шагу три, как показано ниже.
  3. Откроется окно с кучей вариантов
  4. Перейдите на Flavors, и это на самом деле все, что вам нужно

Вы также можете изменить versionCodeсвое приложение там.


6

В build.gradleизменении minSdkVersion 13к minSdkVersion 8Thats все , что вам нужно сделать. Я решил свою проблему, только сделав это.

defaultConfig {
    applicationId "com.example.sabrim.sbrtest"
    minSdkVersion 8
    targetSdkVersion 20
    versionCode 1
    versionName "1.0"
}

6

Согласно этому ответу , вы просто не включаете minsdkversion в manifest.xml, и система сборки будет использовать значения из файла build.gradle и помещать информацию в конечный apk.

Поскольку система сборки в любом случае нуждается в этой информации, это имеет смысл. Вам не нужно определять это значение два раза.

Вам просто нужно синхронизировать проект после изменения build.gradleфайла, но Android Studio 0.5.2 отображает желтую строку состояния в верхней части окна редактора build.gradle, чтобы помочь вам

Также обратите внимание, что есть как минимум два build.gradleфайла: один мастер и один для приложения / модуля. Изменяемый находится в приложении / модуле, он уже содержит свойство minSdkVersionво вновь созданном проекте.


5

Если у вас возникли проблемы с указанием цели SDK для Google API , вместо базы Platform SDK просто изменить compileSdkVersion 19кcompileSdkVersion "Google Inc.:Google APIs:19"


5

Для последней версии Android Studio v2.3.3 (11 октября 2017 г.):
1. Нажмите Viewна строку меню
2. Нажмите Открыть настройки модуля
3. Откройте Flavorsвкладку
4. Выберите нужную Sdkверсию Min
Окно структуры проекта IDE 6. Нажмите OK


4

Наряду с обновлением манифеста, обновите и build.gradleфайл модуля (он указан на панели проекта чуть ниже манифеста - если в нем нет minSdkVersionключа, вы смотрите не тот, как пара). А перестроить и все должно быть хорошо ...


3

В Android studio откройте build.gradle и отредактируйте следующий раздел:

defaultConfig {
    applicationId "com.demo.myanswer"
    minSdkVersion 14
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
}

здесь вы можете изменить minSdkVersion с 12 на 14


1

Изменение minSdkVersion в манифесте не требуется. Если вы измените его в файле сборки Gradle, как показано ниже, вы выполните то, что вам нужно сделать.

defaultConfig {
   applicationId "com.demo.myanswer"
   minSdkVersion 14
   targetSdkVersion 23
   versionCode 1
   versionName "1.0"
}

0

Для меня то, что сработало, было: (щелкните правой кнопкой мыши) проект-> Инструменты Android-> Очистить маркеры линта. Хотя по какой-то причине Манифест вернулся к старому (более низкому) минимальному уровню API, но после того, как я изменил его на новый (более высокий) уровень API, красной черты ошибки не было, и проект теперь использует новый минимальный уровень API.

Изменить: Извините, я вижу, что вы использовали Android Studio, а не Eclipse. Но я думаю, что в студии где-то есть похожие «четкие маркеры ворса», и это может решить проблему.



Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.