Android Gradle Плагин 3.0 Ошибка сборки
Опытные проблемы переносятся на Android gradle плагин 3.0.
файл build.gradle в корне проекта
buildscript {
repositories {
jcenter()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.1'
}
}
Android Application Module build.gradle
buildscript {
repositories {
maven { url 'https://maven.fabric.io/public' }
mavenCentral()
}
dependencies {
classpath 'io.fabric.tools:gradle:1.+'
classpath testDependencies.spoon
}
}
repositories {
maven { url 'https://maven.fabric.io/public' }
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
spoon {
debug = true
grantAllPermissions = true
shard = true
}
android {
compileSdkVersion 25
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
Попытка скомпилировать проект. Я получаю ошибки компиляции.
![введите описание изображения здесь]()
Но как только retrolambda добавляется снова, тогда проект компилируется и строится успешно. Прочтите раздел "Известные проблемы" и не нашли исправления. Я надеюсь, что кто-то испытал это и может помочь.
Ответы
Ответ 1
Если вы столкнулись с ошибкой сборки после обновления плагина, просто найдите эту страницу для вывода ошибки или перейдите к соответствующей теме и следуйте инструкциям по устранению проблемы.
Решение: см. Известные проблемы на странице справки.
Например, рассмотрим следующие зависимости в classpath, включенные в файл build.gradle основного проекта:
buildscript {
...
dependencies {
classpath "com.android.tools.build:gradle:3.0.1"
classpath "me.tatarka:gradle-retrolambda:3.7.0"
}
}
Теперь рассмотрим следующий файл build.gradle для другого проекта, включенного в составную сборку:
buildscript {
dependencies {
// Note that the order of plugins differs from that
// of the main project build.gradle file. This results
// in a build error because Gradle registers this as a
// different classloader.
classpath "me.tatarka:gradle-retrolambda:3.7.0"
classpath "com.android.tools.build:gradle:3.0.1"
}
}
Ответ 2
Убедитесь, что значение BuildToolsVersion превышает 26
новая студия Android 3.0 после того, как необходимый минимум buildToolsVersion 26.0.0 обновит эту версию в модуле приложения gradle.
android {
compileSdkVersion 25
buildToolsVersion "26.0.3"
}
Если вы видите, что ошибка buildtool не найдена, вам нужно установить этот инструмент сборки.
Ответ 3
Вы установили
apply plugin: 'me.tatarka.retrolambda'
Добавьте плагин me.tatarka:gradle-retrolambda
в зависимости от вашего build.gradle
файл.
buildscript {
repositories {
google()
mavenCentral()
}
dependencies {
classpath "com.android.tools.build:gradle:3.0.1"
classpath 'me.tatarka:gradle-retrolambda:3.7.0'
}
}
// Required because retrolambda is on maven central
repositories {
mavenCentral()
}
Затем добавьте исходную и целевую совместимость в Java 8
и примените новый плагин в файле app/build.gradle
.
apply plugin: 'com.android.application'
apply plugin: 'me.tatarka.retrolambda' // Add this
android {
compileSdkVersion 27
buildToolsVersion "27.0.0"
defaultConfig {
applicationId " "
minSdkVersion //
targetSdkVersion //
versionCode //
versionName //
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
FYI
Если вы используете Android-плагин для Gradle 3.0.0 or higher
, ваш проект автоматически использует стандартную версию инструментов сборки, которые задает плагин. Чтобы использовать другую версию инструментов сборки, укажите buildToolsVersion
в модуле build.gradle
, как показано ниже:
/**
* buildToolsVersion specifies the version of the SDK build tools, command-line
* utilities, and compiler that Gradle should use to build your app. You need to
* download the build tools using the SDK Manager.
*
* If you're using Android plugin 3.0.0 or higher, this property is optional—
* the plugin uses a recommended version of the build tools by default.
*/
android {
compileSdkVersion 26
buildToolsVersion "26.0.2"
}
Вы должны upgrade
вашу buildToolsVersion
версию.
android {
compileSdkVersion 27
buildToolsVersion "27.0.0"
Затем Clean-Rebuild-Restart-Run
.
Прочитайте
Ответ 4
Указать эти строки в окне приложения (модуля) gradle file
buildToolsVersion
defaultConfig для конфигурации приложения
android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
applicationId "com.example.app"
minSdkVersion 16
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true
multiDexEnabled true
}
}