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

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

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.


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

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


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.


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.


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


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!


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ć.


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
}

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.


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.


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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.