Не знайдено DSL-методу Android Studio Gradle DSL: 'android ()' - Помилка (17,0)


82

Я намагаюся запустити свій проект в Android Studio, але помилка з'являється нижче:

введіть тут опис зображення

Я переслідував багато джерел лише для того, щоб змусити це запуститись і завів тут, але не знаю, що ще робити.

Як я можу налаштувати цей проект для запуску?

build.gradle:

    // Top-level build file where you can add configuration options common to all sub-projects/modules.
    buildscript {
        repositories {
            mavenCentral()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:0.9.+'
        }
    }

    allprojects {
        repositories {
            mavenCentral()
        }
    }

    android {
        compileSdkVersion 19
        buildToolsVersion "19.1" 
    }

settings.gradle:

include ':app'

local.properties:

sdk.dir=C\:\\Users\\KJA\\AppData\\Local\\Android\\sdk

gradle.propertes:

# IDE (e.g. Android Studio) users:
# Settings specified in this file will override any Gradle settings
# configured through the IDE.

# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html

# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx10248m -XX:MaxPermSize=256m
# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true

1
Я припускаю, що ви щойно розпочали цей проект. Чому б не Файл -> Новий проект і нехай він налаштує Gradle для вас. Крім того, оновіть свій плагін gradle до 1.0.
Джаред Берроус,

Це проект з інтернет-джерела, я його імпортував
Саурон


Перегляньте мою відповідь. Вам просто потрібно оновити проект.
Джаред Берроуз, 02

Відповіді:


56

Я продовжив і завантажив проект за посиланням, яке ви надали: http://javapapers.com/android/android-chat-bubble/

Оскільки це старий підручник, вам просто потрібно оновити програмне забезпечення, gradle, інструменти збірки та плагін android.

Переконайтеся, що у вас найновіші версії Gradle та Android Studio:

build.gradle:

buildscript {
    repositories {
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.2'
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

app / build.gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion '23.0.3'

    defaultConfig {
        minSdkVersion 9
        targetSdkVersion 23
        versionCode 1
        versionName '1.0'
    }
}

dependencies {
    compile 'com.android.support:appcompat-v7:23.2.1'
}

Потім запустіть gradle:

gradle installDebug

Спочатку дякую за додаткові зусилля !! Але коли я завантажив проект та імпортував, там був лише один файл build.gradle. Як ви отримали два, додаток та проект?
Саурон

Я завантажив zip і пройшов через файли через командний рядок. Крім того, зазвичай є топ build.gradle та проект build.gradle. Коли ви імпортуєте свій проект до Intellij / Android Studio, виберіть верхній build.gradle. У папці програми є топ-build.gradle та ще один.
Джаред Берроуз, 02

@Sauron Чи все у вас працює? Вам потрібно використовувати мій оновлений build.gradles, щоб він міг працювати. Також повідомте мене, якщо вам потрібна додаткова допомога!
Джаред Берроуз,

@JaredBurrows Можете чи ви допомогти з stackoverflow.com/questions/30958596 / ... , а? Це подібне питання до цього. У мене важкий час з модернізацією Gradle.
committedandroider

1
Просто хотів додати коментар, що це також працює для тих, хто намагається налаштувати пустий новий проект Parse.com Android QuickStart, який має таку ж проблему, якщо завантажити та встановити :)
Макс

46

На вашому верхньому рівні build.gradleви, здається, маєте код

android {
   compileSdkVersion 19
   buildToolsVersion "19.1" 
}

Ви не можете мати цей код на верхньому рівні, build.gradleоскільки плагін для збірки Android ще не завантажений. Ви можете визначити версію компіляції та версію інструментів побудови на рівні програми build.gradle.


3
Прекрасний попередній перегляд Android Studio 2.2 випадково ставить це у верхній рівень build.gradle
Кевін

27

З невідомої причини Android Studio неправильно додає метод android () у файл верхнього рівня build.gradle.

Просто видаліть метод, і він працює для мене.

android {
    compileSdkVersion 21
    buildToolsVersion '21.1.2'
}

3
Проблема в 2016 році все ще залишається вирішеною шляхом коментування розділу.
BurninLeo

1
Цей код сформовано AS. Видалення вирішено isseu. Дякую!
Том Бевеландер

14

Я намагався вирішити цю проблему, виконавши наведені нижче дії.

Видалити android { ... }блок у кореневому файлі gradle верхнього рівня

Заглянути

 compileSdkVersion 22
 buildToolsVersion "22.0.0"

рядки коду у файлі app / gradle, тут повинна бути присутнім лише одна з версій, яка постійно відображається в розкривному меню нижче, інакше це дасть можливість завантажити те саме.

введіть тут опис зображення


Я перейшов на Android 5.0, тож це вже не проблема,
Саурон

10

Я отримав цю саму помилку, коли намагався імпортувати проект Eclipse NDK в Android Studio. Виявляється, для підтримки NDK в Android Studio вам потрібно використовувати новий плагін gradle та android (і для цього версію gradle 2.5+). Цей плагін вимагає змін у файлі build.gradle модуля. Зокрема, об’єкт " android {...}" повинен знаходитись всередині об'єкта " model {...}" таким чином:

apply plugin: 'com.android.model.application'
model {
    android {
    ....
    }
}

Отже, якщо ви оновили конфігурацію gradle для використання нового плагіна gradle та нового плагіна android, але не змінили синтаксис build.gradle модуля, ви можете отримати помилку "Gradle DSL method not found: 'android ()'" error .

Я підготував тут файл виправлення, який містить додаткові пояснення в коментарях: https://gist.github.com/shumoapp/91d815de6e01f5921d1f Це зміни, які мені довелося зробити після імпортування проекту рідного аудіо ndk в Android Studio.


Дякую! він працював над чистим проектом для android cocos2d
Jacek Pietal

1

Виправити настройки градації досить складно. Якщо ви не знаєте багато про Gradle, вам потрібно навчитися багато. Натомість ви можете зробити наступне:

1) Почніть новий проект у новій папці. Виберіть ті самі налаштування для вашого проекту з проблемою gradle, але нехай це буде просто: Виберіть пусту основну діяльність. 2) Видалити всі файли в ... \ NewProjectName \ app \ src \ main folder 3) Скопіювати всі файли в ... \ ProjectWithGradleProblem \ app \ src \ main folder у ... \ NewProjectName \ app \ src \ main папку. 4) Якщо ви використовуєте проект тесту (\ ProjectWithGradleProblem \ app \ src \ AndroidTest), ви можете зробити те саме для цього теж.

цей метод відмінно працює, якщо ваша установка Gradle справна. Якщо ви щойно встановили Android studio і не модифікували його, установка Gradle повинна бути нормальною.


1

Насправді я спробував багато комбінацій, нічого не вийшло

але коли я модифікував свій файл gradle додатку наступним чином

 buildTypes {
        release {
            minifyEnabled false
        }
    }

Видаливши Рядок

proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'

це працювало Зазвичай :)) ура


1

Ще одне рішення, якщо ви встановили android-studio-bundle-143.2915827-windows і gradle2.14

Ви можете перевірити в C: \ Program Files \ Android \ Android Studio \ gradle, якщо у вас є gradle-2.14.

Потім потрібно перейти до C: \ Users \\ AndroidStudioProjects \ android_app \

І в цій build.gradle ви вкладаєте цей код:

buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.1.2'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}

Потім перейдіть до C: \ Users \ Raul \ AndroidStudioProjects \ android_app \ Desnutricion_infantil \ app

І в цій build.gradle ви поміщаєте:

apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion '24.0.0'
defaultConfig {
minSdkVersion 19
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
}
dependencies {
compile 'com.android.support:appcompat-v7:23.3.0'
}

Ви повинні перевірити свою версію sdk та buildTools. compileSdkVersion 23 buildToolsVersion '24 .0.0 '

Збережіть усі зміни та перезапустіть AndroidStudio, і все повинно бути добре!


IMHO, попередня відповідь Traveller, що пропонувала створити новий проект, щоб з’ясувати, які налаштування використовувати, а) простіше зробити, б) продовжуватиме працювати в майбутніх версіях Android, коли "найкращі" налаштування для використання могли змінитися .
ToolmakerSteve

0

Просто видаліть ці рядки з кореневого build.gradle

android {
compileSdkVersion 19
buildToolsVersion '19.1' }

Тепер спробуй і скомпілюй знову. Це має спрацювати.


0

Перейдіть до кореневого файлу build.gradle

до

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.5.0'

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

allprojects {
    repositories {
        jcenter()
    }
}

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

0

У мене спрацювало імпортування проекту за допомогою «Файл -> Новий -> Проект із контролю версій», а потім вибір вашого джерела в Інтернеті (наприклад, GitHub). Таким чином усі файли .gradle були створені під час імпорту.


0

Я також стикаюся з цими проблемами і просто видаляю нижній код:

DELETE THESE LINES:
android {
    compileSdkVersion 22
    buildToolsVersion '22.0.1'
}

це спрацювало.


Надлишковий з кількома попередніми відповідями. Здається, він тут в надії отримати незароблені голоси. Потрібно видалити.
Інструментарій

0

Ця помилка сталася, коли я імпортував проект із Github. Це відбувається, оскільки проект був старшої версії. Просто спробуйте видалити ці способи нижче з кореневого gradle.

android {compileSdkVersion 19 buildToolsVersion "19.1"}

потім спробуйте ще раз.

Сподіваюся, це спрацює.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.