Метод 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.
Джаред Берроуз

Это проект из онлайн-источника, я его импортировал
Саурон


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

Ответы:


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()
    }
}

приложение / 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 и еще один в папке приложения.
Джаред Берроуз

@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. Удаление решило проблему. Благодаря!
Tom Bevelander

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 ()'» .

Здесь я подготовил файл патча, в комментариях к которому есть некоторые дополнительные пояснения: https://gist.github.com/shumoapp/91d815de6e01f5921d1f. Это изменения, которые мне пришлось сделать после импорта проекта ndk native-audio в Android Studio.


Благодаря! он работал над чистым проектом cocos2d для Android
Яцек Пьетал,

1

Исправить настройки градиента довольно сложно. Если вы мало знаете о Gradle, вам нужно много учиться. Вместо этого вы можете сделать следующее:

1) Запустите новый проект в новой папке. Выберите те же настройки для вашего проекта с проблемой gradle, но будьте проще: выберите пустое основное действие. 2) Удалите все файлы в ... \ NewProjectName \ app \ src \ main folder 3) Скопируйте все файлы в ... \ ProjectWithGradleProblem \ app \ src \ main папку в ... \ 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'
}

это сработало.


Избыточно с несколькими предыдущими ответами. Кажется, здесь в надежде получить незаработанные голоса. Следует удалить.
ToolmakerSteve

0

Эта ошибка возникла, когда я импортировал проект из Github. Это происходит из-за того, что проект был более старой версии. Просто попробуйте удалить эти методы ниже из вашего корневого gradle.

android {compileSdkVersion 19 buildToolsVersion "19.1"}

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

Надеюсь это работает.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.