Зміна рівня API Android Studio


414

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

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

і відновлення проекту, але я все одно отримую Android Studio IDE, який видаляє деякі помилки. Я припускаю, що я повинен встановити мінімальний SDK у "властивості проекту" чи щось подібне, щоб IDE розпізнавав зміни, але я не можу знайти, де це робиться в Android Studio.


1
що це за деякі помилки? ми не можемо допомогти вам без logcat
Arash GM

1
Вони не є помилками компіляції. Це IDE дає червоне підкреслення, коли я намагаюся використовувати `GridLayout 'у макеті xml, тобто, говорить мені, що потрібен мінімальний рівень API 14. Тому в студії Android має бути десь, де ви можете встановити мінімальний рівень API після створення проекту. Я бачив подібні пости для Eclipse, але не для Android Studio.
Джеймс Б

Ви встановили пакет SDK рівня 14 API?
ramaral

Якщо я запускаю новий проект і вибираю API рівня 14 з самого початку, у мене немає проблем з розробкою в Android Studio, тобто у мене повинен бути встановлений SDK API рівня 14. Однак, якщо я просто хочу оновити існуючий проект, щоб використовувати API 14 як мінімум, я не можу розібратися, де в Android Studio GUI IDE IDE, що я говорю це зробити.
Джеймс Б

Опублікуйте своє Logcat. і змінити MinSDKVersionце найпростіше рішення, яке ви вже пробували .. iechange inManifest
Шах

Відповіді:


582

Коли ви хочете оновити свій minSdkVersion у існуючому проекті ...

  1. Оновленняbuild.gradle(Module: app) - переконайтеся, що це той, що знаходиться в сценарії Gradle, і це НЕ 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 "Кнопка синхронізації градусів" розміщена в меню Інструменти -> Android -> Синхронізувати проект з файлами Gradle "Перебудувати проект" Збудувати -> Побудувати проект

  1. Проект відновлення

Після оновлення build.gradle 's minSdkVersionвам потрібно натиснути кнопку для синхронізації файлу gradle ("Синхронізувати проект з файлами Gradle"). Це очистить маркер.

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


7
Мій проект build.gradle порожній? Який синтаксис потрібно оновити? --- Ой, є два файли build.gradle. Я знайшов, що один у -> src має версії тощо
mobibob

4
Користуючись цією порадою, мені вдалося змусити синхронізувати речі, але мені довелося EXIT Android Studio, перш ніж компіляція не була помилкою. Я зробив багато маленьких кроків, тож не знаю, що насправді був необхідним кроком.
mobibob

5
чому вони зробили це таким кульовим болем? начебто пам’ятаю в затемненні, мені довелося це робити лише в одному місці ...
Дін Дикий

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

2
Для початківців в Android Studio "Кнопка синхронізації градусів" розміщена в Tools -> Android -> Sync Project with Gradle Files" Проекті відновлення "Build -> Rebuild Project
CGR

169

Для користувачів андроїд-студії:

  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 синхронізується автоматично
Мартін

У студії 1.4 вам потрібно заглянути у вкладку «Ароматизатори». Дивіться відповідь priyankvex.
Яник

У студії 3.5 потрібно натиснути на вкладку «Налаштування за замовчуванням». Вкладка "Аромати" більше не існує.
Сума немає

135

Оскільки Android Studio стабільний, існує простий спосіб зробити це.

  1. Клацніть правою кнопкою миші на файлі проекту
  2. Виберіть "Відкрити налаштування модуля"
  3. Перейдіть на вкладку «Ароматизатори».

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

  1. Виберіть зі спадного списку Min Min SDK Version

PS: Хоча на це питання вже відповіли, але Android Studio трохи змінився своїм стабільним випуском. Тож простий прямий шлях допоможе будь-якому шукачеві відповіді приземлитися тут.


1
Редагування файлів gradle для мене не працювало, але це було. Дякую!
Al0x

1
Це знову змінилося: вкладка «Ароматизатори» більше не є. Натомість на кроці 3 у розділі Налаштування проекту натисніть Модулі та скористайтеся спадною панеллю Рівень проекту, щоб вибрати версію API. Це не те саме, що встановити мінімальну версію API, а скоріше версію, яка буде використана для створення програми.
hamx0r

Це має бути прийнятою відповіддю. Найменше новітня версія Android Studio
Vivekanand

3
Я отримую тільки api 23 у спадному меню ... Мені потрібно api 10
Reign.85

1
трошки? цей fking IDE сильно змінюється між версіями, спричиняючи багато перерв у запуску старого коду. Дуже дуже жалюгідно порівняно зі спадщиною відсталої сумісності, що є прикладом Microsoft.
user30478

10

В андроїд-студії ви можете легко натискати:

  1. Ctrl+ Shift+ Alt+ S.
  2. Якщо у вас новітня версія android studio, спочатку натисніть на додаток. Потім продовжуйте крок третій наступним чином.
  3. Відкриється вікно з купою опцій
  4. Перейдіть до смаку, і це насправді все, що вам потрібно

Ви також можете змінити там 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 для API API замість базового SDK платформи, просто змініть compileSdkVersion 19наcompileSdkVersion "Google Inc.:Google APIs:19"


5

Для останньої версії Android Studio v2.3.3 (11 жовтня 2017 року):
1. Клацніть Viewна панелі меню
2. Клацніть Відкрити параметри модуля
3. Відкрийте Flavorsвкладку
4. Виберіть Міні- Sdkверсію, яка вам потрібна
Вікно структури IDE проекту 6. Клацніть OK


4

Окрім оновлення маніфесту, оновіть також build.gradleфайл модуля (він вказаний на панелі проектів трохи нижче маніфесту - якщо в ньому немає minSdkVersionключа, ви дивитесь на неправильний, оскільки є пара). Поновлення і все має бути добре ...


3

У студії Android відкрийте 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-> чіткі маркери ворсу. Хоча Manifest чомусь повернувся до старого (нижчого) мінімального рівня API, але після того, як я змінив його на новий (більш високий) рівень API, не було підкреслено червоних помилок, і проект зараз використовує новий мінімальний рівень API.

Редагувати: Вибачте, я бачу, що ви використовували Android Studio, а не Eclipse. Але я здогадуюсь, що в студії є подібні «чіткі маркери ворсинок», і це може вирішити проблему.



Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.