Подтвердить что ты не робот

Не удалось найти метод android() для аргументов

Я пытаюсь импортировать проект в Android Studio, и вот где я застрял, есть аналогичный вопрос в Stack Overflow, но он не предоставил решение моей конкретной ошибки.

Это мой журнал ошибок:

C:\<some location>\build.gradle

Error:(24, 1) A problem occurred evaluating root project '<project name>'.
> Could not find method android() for arguments [[email protected]] on root project '<project name>'.
Information:BUILD FAILED

Синхронизирующие сообщения Gradle:

Ошибка: (24, 0) Gradle Метод DSL не найден: 'android()' Возможно причины:

В проекте "PoojaPeople" может использоваться версия Gradle, который не содержит метода. Gradle Настройки Файл сборки может отсутствовать плагин Gradle. Подать выражение Gradle плагин

Я не уверен, где именно находится этот метод android(). Если он находится в файле Application build.gradle, я до сих пор точно не знаю, куда идти отсюда. Любая помощь приветствуется.

Мой build.gradle -

buildscript {
    repositories {
        maven { url "http://dl.bintray.com/populov/maven" }
        mavenCentral()
    }
     dependencies {
        classpath 'com.android.tools.build:gradle:2.1.0'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}
allprojects {
    repositories {
        maven { url "http://dl.bintray.com/populov/maven" }
        mavenCentral()

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

android {
    compileSdkVersion 17
    buildToolsVersion '23.0.0'
}
dependencies {
    compile files('app/libs/junit-4.12-JavaDoc.jar')
}
apply plugin: 'maven'
4b9b3361

Ответ 1

Вы используете неправильный build.gradle файл.

В вашем файле верхнего уровня вы не можете определить блок android.

Просто переместите эту часть внутри файла module/build.gradle.

android {
    compileSdkVersion 17
    buildToolsVersion '23.0.0'
}
dependencies {
    compile files('app/libs/junit-4.12-JavaDoc.jar')
}
apply plugin: 'maven'

Ответ 2

ребята. Раньше у меня была такая же проблема, когда я пытаюсь импортировать пакет .aar в мой проект, и, к сожалению, прежде чем сделать пакет .aar модульной зависимостью моего проекта, у меня было два модуля (один о ROS-ANDROID-CV-BRIDGE, еще один OPENCV-FOR-ANDROID). Итак, я получил эту ошибку, когда вы встречаетесь:

Error:Could not find method android() for arguments [o[email protected]7e550e0e] on project ‘:xxx’ of type org.gradle.api.Project.

Итак, это болезненная gradle -структура вызвала эту проблему, когда у вас несколько модулей в вашем проекте, и, что еще хуже, они импортируются по-разному или имеют разные типы (пакеты .jar/.aar или просто проект библиотеки Java). И на самом деле проблема с головной болью заключается в том, чтобы сделать такую ​​конфигурацию, как компиляция, зависимости библиотек и т.д. В каждом подпроекте, совместимом с основным проектом.

Я решил свою проблему, просто выполните следующие действия:

① Скопируйте пакет .aar в приложение /libs.

② Добавьте это в файл app/build.gradle:

repositories {
    flatDir {
        dirs 'libs' //this way we can find the .aar file in libs folder
    }
}

③ Добавьте это в свой файл add build.gradle модуля, который вы хотите применить зависимость .aar(в моей ситуации просто добавьте это в файл app/build.gradle):

dependencies {
    compile(name:'package_name', ext:'aar')
}

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