Конфигурация файла gradle для целевого Android API 22

Я установил Android Studio 3.1.13 с ранее установленными gradle 4.8.1 и java 1.8.0_171. Я также установил SDK API 22, потому что мне нужно протестировать приложение на Android 5.1.1. Проблема в том, что конфигурация по умолчанию имеет compileSdkVersion 28, и я изменил ее на 22. Я перепробовал много настроек, но всегда возникают ошибки из-за версии Android API.

Мой текущий модуль build.gradle:

apply plugin: 'com.android.application'

android {
   compileSdkVersion 22
   buildToolsVersion '22.0.1'
   defaultConfig {
     applicationId "com.company.test"
     minSdkVersion 22
     targetSdkVersion 22
     versionCode 1
     versionName "1.0"
   }
   buildTypes {
      release {
          minifyEnabled false
           proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
      }
   }
   productFlavors {
   }
  }

   dependencies {
      compile fileTree(include: ['*.jar'], dir: 'libs')
      compile 'com.android.support:appcompat-v7:22.0.0'
   }

а проект build.gradle -

buildscript {

  repositories {
    google()
    jcenter()
  }
  dependencies {
    //classpath 'com.android.tools.build:gradle:3.1.3'
    classpath 'com.android.tools.build:gradle:2.3.3'

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
  }
}

allprojects {
    repositories {
       google()
       jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

Когда я пытался собрать, теперь IDE говорит Версия SDK Build Tools (22.0.1) слишком мала для проекта ": app". Требуемый минимум 25.0.0

Не знаю, как мне собрать и протестировать приложение для API 22. Я новичок в разработке Android. заранее спасибо

1
0
1 860
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Строка buildToolsVersion должна быть совместима с параметром classpath 'com.android.tools.build:gradle:x:x:x. Вы должны уменьшить второй параметр, пока он не будет принят.

Однако я предлагаю использовать последние версии BUILD TOOLS и последнюю версию GRADLE и не возвращаться к старым. Эти инструменты влияют только на процедуру сборки, а не на само приложение.

Ответ принят как подходящий

Насколько я понимаю ваш вопрос, приложение должно быть протестировано на уровне 22 API Android, верно? Основываясь на этом предположении, я бы сказал, что наиболее простым решением было бы оставить каждое значение по умолчанию (если это сработало для вас раньше). Просто уменьшите minSdkVersion до 22. Краткое объяснение наиболее важных ценностей:

  • compileSdkVersion 22: Уровень API, с которым скомпилировано приложение
  • buildToolsVersion '22 .0.1 ': версия Buildtools для компиляции кода (должна соответствовать compileSdkVersion)
  • minSdkVersion 22: это минимальный API, на котором должно работать приложение.
  • targetSdkVersion 22: Проще говоря, вы протестировали свое приложение, работающее на указанном API. Теперь Google использует это, чтобы определить, обновлено ли ваше приложение для публикации в Playstore или нет.

Как уже упоминалось emandt, должны быть обновлены BUILDTOOLS и gradle, а также targetSdkVersion и compileVersion.

ТЕСТИРОВАНИЕ ПРИЛОЖЕНИЯ НА уровне API: Пока вы скомпилировали свое приложение для цели выше minSdk, вы можете просто собрать и установить apk на устройство, на котором запущен запрошенный уровень API.

спасибо Rustyhamsterr и emandt .. теперь он работает с minSdkVersion 22 и compileSdkVersion 28

jmann 10.07.2018 00:10

Другие вопросы по теме