2014-01-30 3 views
15

Недавно я перенес проект в Android Studio 0.4.3. При компиляции, он дал мне ошибки на несколько строк Java, в том числе следующие:Как установить минимальный уровень api для проектов в Android Studio?

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" /> 

Я сделал «Sync проект с Gradle файлов», убирали и перестроен проект. Я все еще вижу те же ошибки.

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

+0

Привет, я думаю, что вы компилируете с другой версией Android (не 19). Если вы находитесь на eclipse, вы можете попробовать в свойствах proyect, в андроидных библиотеках, проверьте там, что является правильным API 19. С уважением. – JSG33kC0d3

+0

Я только что нашел что-то интересное. Исправлена ​​ошибка была захвачена студией: 'java.lang.ArrayIndexOutOfBoundsException: 20 \t в org.jetbrains.android.dom.converters.ApiVersionConverter.getApiLevelLabel (ApiVersionConverter.java:57) ' – Marius

ответ

14

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

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

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

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

Поэтому проверьте minSdkVersion в файле build.gradle модуля, который выдает ошибку.

android { 
    compileSdkVersion 19 
    buildToolsVersion '19.0.1' 

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

} 

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

30

У меня есть 0.8.6 версия, и это можно сделать так:

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

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

enter image description here

+2

В Android Studio 1.2.2: После того, как изменения, которые вы предлагаете, должны запускаться ** Sync Project с файлами Gradle ** (кнопка значка, расположенная где-то справа от значка ** Run ** на панели инструментов), чтобы применить изменения – Universe

1

Полное приложение/сборки.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' 
    } 
} 
1

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

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

Это все приятель, град автоматически перестраивает проект.

Смежные вопросы