Ошибка сборки скрипта, неподдерживаемый метод Gradle DSL: «android ()»!

Я использую Android Studio 0.4.5 и испытываю трудности с синхронизацией.

Когда я пытаюсь сделать это, я получаю эту ошибку:

Gradle 'MyApp' project refresh failed: Build script error, unsupported Gradle DSL method found: 'android()'! 

Мое решение содержит 4 модуля. Вот мой root build.graddle :

 buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.8.+' } } android { packagingOptions { exclude 'META-INF/LICENSE.txt' } } allprojects { repositories { mavenCentral() } } 

И другие (я удалял зависимости для простоты)

Модуль 1

 apply plugin: 'android' buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.8.+' } }buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.8.+' } } android { compileSdkVersion 19 buildToolsVersion "19.0.1" defaultConfig { minSdkVersion 9 targetSdkVersion 19 } buildTypes { release { runProguard false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' } } } 

Модуль 2

 apply plugin: 'android-library' android { compileSdkVersion 18 buildToolsVersion "19.0.1" defaultConfig { minSdkVersion 8 targetSdkVersion 17 } release { runProguard false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' } } 

Модуль 3 применяет плагин: 'android-library'

 android { compileSdkVersion 18 buildToolsVersion "19.0.1" defaultConfig { minSdkVersion 8 targetSdkVersion 17 } release { runProguard false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' } } 

Модуль 4

 apply plugin: 'android-library' android { compileSdkVersion 17 buildToolsVersion "19.0.1" defaultConfig { minSdkVersion 9 targetSdkVersion 17 } release { runProguard false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' } } 

Извините за то, что так долго, но я отчаянно жду здесь 🙁

Основная причина заключалась в следующем:

 android { packagingOptions { exclude 'META-INF/LICENSE.txt' } } 

В корневой сборке.

Удалите следующие строки кода из файла build1 build.gradle Module1:

 buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.8.+' } }buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.8.+' } } 

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

Даже если вы хотите его в файле build.gradle модуля, этот код должен быть до применения плагина android.

Final Module1 build.gralde файл:

 apply plugin: 'android' android { compileSdkVersion 19 buildToolsVersion "19.0.1" defaultConfig { minSdkVersion 9 targetSdkVersion 19 } buildTypes { release { runProguard false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' } } } 

Также убедитесь, что приведенная ниже конфигурация должна быть одинаковой для модулей

 android { compileSdkVersion 19 buildToolsVersion "19.0.1" defaultConfig { minSdkVersion 9 targetSdkVersion 19 } } 

Вы можете использовать все, что хотите, но должны быть одинаковыми.