Как установить минимальный уровень api для проектов в Android Studio?

Недавно я перенес проект в Android Studio 0.4.3. При компиляции он дал мне ошибки на нескольких строках java, включая следующее:

FragmentManager fm = getFragmentManager();

fm.findFragmentById()

@Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

getResources().getStringArray(R.array.course_descriptions); 

Я вижу следующее сообщение об ошибке:

Call requires API level 11 (current min is 7)

Я запускаю Android Studio.0.4.3. Я также загрузил Android 4.4.2 (API 19) через диспетчер SDK.

Я добавил в мой манифест следующую строку:

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

Я выполнил "Проект синхронизации с Gradle файлами", очистил и перестроил проект. Я все еще вижу те же ошибки.

Как исправить эту проблему?

Ответ 1

У меня версия 0.8.6, и это можно сделать следующим образом:

В меню: Файл → Структура проекта.

В открывшемся меню перейдите к app, затем на вкладках выберите Flavors.

enter image description here

Ответ 2

Если вы создали свой проект в последних версиях Android Studio, этот параметр находится в файле конфигурации gradle. Найдите файл build.gradle в вашем прикладном модуле. Там должно быть что-то вроде этого.

defaultConfig {
    minSdkVersion 7
    targetSdkVersion 19
    versionCode 1
    versionName "1.0"
}

Ответ 3

Начиная с gradle системы сборки, все ваши настройки, связанные с sdk и API компиляции, будут переопределены тем, что вы определяете в своем файле build.gradle.

Итак, если вы хотите, вы можете удалить все эти конфигурации из AndroidManifest.xml и сохранить их в файлах build.gradle, чтобы избежать путаницы.

Итак, проверьте minSdkVersion в файле module build.gradle, который выдает ошибку.

android {
    compileSdkVersion 19
    buildToolsVersion '19.0.1'

    defaultConfig {
        minSdkVersion 7      // Change 7 to 11 will solve your problem
        targetSdkVersion 19
    }

}

Я предпочитаю иметь все эти конфигурации в моем файле верхнего уровня build.gradle, потому что, если конфигурации различны в разных модулях, у вас будет ошибка с манифестом слияния.

Ответ 4

Полное приложение /build.gradle minSdkVersion, targetSdkVersion

apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"

defaultConfig {
    applicationId "com.yourapp.package"
    minSdkVersion 18
    targetSdkVersion 22
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}

packagingOptions {
    exclude 'LICENSE.txt'
}
}

dependencies {
androidTestCompile fileTree(dir: 'libs', include: '*.jar')
androidTestCompile('com.squareup.assertj:assertj-android:1.0.0'){
    exclude group: 'com.android.support', module:'support-annotations'
    }
}

Ответ 5

Просто выполните действия (для пользователей студии Android):

  • щелкните правой кнопкой мыши каталог приложения
  • выберите параметр "настройка модуля"
  • измените платформу ADK как то, что вам нужно
  • Нажмите "Применить"

Что все собеседники, gradle автоматически перестраивают проект.