Nie znaleziono metody Android Studio Gradle DSL: „android ()” - błąd (17,0)

82

Próbuję uruchomić projekt w Android Studio, ale błąd pojawia się poniżej:

wprowadź opis obrazu tutaj

Poszedłem za wieloma źródłami, aby to uruchomić i znalazłem się tutaj, ale nie wiem, co jeszcze zrobić.

Jak mogę skonfigurować ten projekt do uruchomienia?

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
Sauron
źródło
1
Domyślam się, że właśnie rozpocząłeś ten projekt. Dlaczego nie File -> New Project i pozwól mu skonfigurować Gradle za Ciebie. Zaktualizuj także wtyczkę gradle do wersji 1.0.
Jared Burrows
To jest projekt ze źródła online, zaimportowałem go
Sauron
Proszę zobaczyć moją odpowiedź. Po prostu musisz zaktualizować projekt.
Jared Burrows

Odpowiedzi:

56

Poszedłem dalej i pobrałem projekt z podanego przez Ciebie linku: http://javapapers.com/android/android-chat-bubble/

Ponieważ jest to stary samouczek, wystarczy zaktualizować oprogramowanie, gradle, narzędzia do budowania Androida i wtyczkę.

Upewnij się, że masz najnowszą wersję Gradle i 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'
}

Następnie uruchom gradle:

gradle installDebug
Jared Burrows
źródło
Po pierwsze dzięki za dodatkowy wysiłek !! Ale kiedy pobrałem i zaimportowałem projekt, był tylko jeden plik build.gradle. Skąd masz dwa, aplikację i projekt?
Sauron
Ściągnąłem zip i przejrzałem pliki za pomocą wiersza poleceń. Zwykle istnieje również plik build.gradle i projekt build.gradle. Podczas importowania projektu do Intellij / Android Studio, wybierz najwyższy build.gradle. W folderze aplikacji znajduje się najwyższy build.gradle, a drugi.
Jared Burrows
@Sauron Czy wszystko działa dla Ciebie? Musisz użyć mojego zaktualizowanego build.gradles, aby działał. Daj mi też znać, jeśli potrzebujesz więcej pomocy!
Jared Burrows
@JaredBurrows Czy możesz również pomóc ze stackoverflow.com/questions/30958596/ ... ? To podobne pytanie. Mam trudności z aktualizacją Gradle.
committedandroider
1
Chciałem tylko dodać komentarz, że działa to również dla każdego, kto próbuje skonfigurować pusty nowy projekt Parse.com Android QuickStart, który ma ten sam problem, jeśli pobierasz i instalujesz :)
Max
46

build.gradleWydaje się, że na swoim najwyższym poziomie masz kod

android {
   compileSdkVersion 19
   buildToolsVersion "19.1" 
}

Nie możesz mieć tego kodu na najwyższym poziomie, build.gradleponieważ wtyczka do kompilacji systemu Android nie została jeszcze załadowana. Możesz zdefiniować wersję kompilacji i wersję narzędzi do kompilacji na poziomie aplikacji build.gradle.

iTapAndroid
źródło
3
Wspaniałe Android Studio 2.2 Preview losowo umieszcza to na najwyższym poziomie build.gradle
Kevin
27

Z jakiegoś nieznanego powodu Android Studio nieprawidłowo dodaje metodę android () do pliku build.gradle najwyższego poziomu.

Po prostu usuń metodę i działa dla mnie.

android {
    compileSdkVersion 21
    buildToolsVersion '21.1.2'
}
Rahul Kumar
źródło
3
Wciąż problem w 2016 r. - i nadal rozwiązany przez skomentowanie sekcji.
BurninLeo
1
Ten kod został wygenerowany przez firmę AS. Usunięcie rozwiązanego isseu. Dzięki!
Tom Bevelander
14

Próbowałem rozwiązać ten problem, wykonując poniższe czynności:

Usuń android { ... }blok z głównego pliku gradle najwyższego poziomu

Zbadać

 compileSdkVersion 22
 buildToolsVersion "22.0.0"

linie kodu w pliku app / gradle tutaj tylko jedna z wersji znajdujących się w poniższym menu powinna być obecna, w przeciwnym razie dałoby to opcję pobrania tego samego.

wprowadź opis obrazu tutaj

KOTIOS
źródło
Migrowałem do Androida 5.0, więc to już nie jest problem,
Sauron,
10

Wystąpił ten sam błąd, gdy próbowałem zaimportować projekt Eclipse NDK do Android Studio. Okazuje się, że aby uzyskać obsługę NDK w Android Studio, musisz użyć nowej wtyczki Gradle i Androida (i wersji Gradle 2.5+). Ta wtyczka wymaga zmian w pliku build.gradle modułu. W szczególności obiekt „ android {...}” powinien znajdować się wewnątrz obiektu „ model {...}” w następujący sposób:

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

Więc jeśli zaktualizowałeś konfigurację gradle, aby używała nowej wtyczki gradle i nowej wtyczki Androida, ale nie zmieniłeś składni build.gradle modułu, możesz otrzymać błąd „Nie znaleziono metody Gradle DSL: 'android ()'” .

Przygotowałem tutaj plik łatki, który ma dodatkowe wyjaśnienia w komentarzach: https://gist.github.com/shumoapp/91d815de6e01f5921d1f To są zmiany, które musiałem zrobić po zaimportowaniu projektu ndk ndk do Android Studio.

Shumoapp
źródło
Dzięki! działał na czystym projekcie androida cocos2d
Jacek Pietal
1

Poprawianie ustawień nachylenia jest dość trudne. Jeśli nie wiesz dużo o Gradle, musisz się dużo nauczyć. Zamiast tego możesz wykonać następujące czynności:

1) Rozpocznij nowy projekt w nowym folderze. Wybierz te same ustawienia dla swojego projektu z problemem ze oceną, ale zachowaj prostotę: Wybierz puste zadanie główne. 2) Usuń wszystkie pliki z ... \ NewProjectName \ app \ src \ main folder 3) Skopiuj wszystkie pliki z ... \ ProjectWithGradleProblem \ app \ src \ main folder do ... \ NewProjectName \ app \ src \ main teczka. 4) Jeśli używasz projektu testowego (\ ProjectWithGradleProblem \ app \ src \ AndroidTest), możesz zrobić to samo.

ta metoda działa dobrze, jeśli instalacja Gradle jest sprawna. Jeśli właśnie zainstalowałeś Android Studio i nie modyfikowałeś go, instalacja Gradle powinna działać poprawnie.

Podróżny
źródło
1

Właściwie próbowałem wielu kombinacji i nic nie działało

ale kiedy zmodyfikowałem plik gradle aplikacji z następującym

 buildTypes {
        release {
            minifyEnabled false
        }
    }

Usuwając linię

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

działało Normalnie :)) okrzyki

Bhushan Shirsath
źródło
1

Inne rozwiązanie, jeśli masz zainstalowane android-studio-bundle-143.2915827-windows i gradle2.14

Możesz sprawdzić w C: \ Program Files \ Android \ Android Studio \ gradle, jeśli masz gradle-2.14.

Następnie musisz przejść do C: \ Users \\ AndroidStudioProjects \ android_app \

W tym build.gradle umieścisz ten kod:

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

Następnie przejdź do C: \ Users \ Raul \ AndroidStudioProjects \ android_app \ Desnutricion_infantil \ app

W tym build.gradle umieściłeś:

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'
}

Musisz sprawdzić swoją wersję sdk i buildTools. compileSdkVersion 23 buildToolsVersion '24 .0.0 '

Zapisz wszystkie zmiany i uruchom ponownie AndroidStudio i wszystko powinno być w porządku!

Raúl EL
źródło
IMHO, wcześniejsza odpowiedź Travellera sugerująca utworzenie nowego projektu, aby dowiedzieć się, jakich ustawień użyć, jest a) łatwiejsza, b) będzie działać w przyszłych wersjach Androida, gdy „najlepsze” ustawienia mogą ulec zmianie .
ToolmakerSteve
0

Po prostu usuń te wiersze z katalogu głównego build.gradle

android {
compileSdkVersion 19
buildToolsVersion '19.1' }

Teraz spróbuj ponownie i skompiluj. Powinno działać.

k9x
źródło
0

Zmień na główny plik build.gradle

do

// 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
}
mesutpiskin
źródło
0

Udało mi się zaimportować projekt za pomocą polecenia „Plik -> Nowy -> Projekt z kontroli wersji”, a następnie wybrać źródło online (na przykład GitHub). W ten sposób wszystkie pliki .gradle zostały utworzone podczas importu.

martin36
źródło
0

Ja też napotykam te problemy i po prostu usuwam dolny kod:

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

zadziałało.

Andy
źródło
Niepotrzebne z kilkoma wcześniejszymi odpowiedziami. Wydaje się być tutaj w nadziei na niezasłużone głosy za. Powinien zostać usunięty.
ToolmakerSteve
0

Ten błąd wystąpił podczas importowania projektu z Github. Dzieje się tak, ponieważ projekt był w starszej wersji. Po prostu spróbuj usunąć poniższe metody z poziomu głównego.

android {compileSdkVersion 19 buildToolsVersion "19.1"}

następnie spróbuj ponownie.

Mam nadzieję, że to zadziała.

Prashant Choudhary
źródło