Android: проблема build.gradle после добавления sdk

Я добавил SDK в builder.gradle следующим образом.

buildscript {
    repositories {
        google()
        jcenter()

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


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

    dependencies {
        compile 'com.kontaktio:sdk:3.0.2'
    }

    packagingOptions {
        exclude 'main/AndroidManifest.xml'
    }
}

allprojects {
    repositories {
        google()
        jcenter()

    }
}

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

Но он возвращает ошибку

ERROR: Could not find method compile() for arguments [com.kontaktio:sdk:3.0.2] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.

Пожалуйста, помогите мне исправить это.

Вы добавляете зависимости компиляции не в тот блок. Вам нужно добавить его в build.gradle уровня приложения, а не в корневой build.gradle.

Zoe 25.02.2019 08:22

@Zoe правильно, dependencies { compile 'com.kontaktio:sdk:3.0.2' } должен быть внутри модуль build.gradle вместо проект build.gradle

ישו אוהב אותך 25.02.2019 08:25

Я новичок в Android, помогите мне найти build.gradle на уровне приложения.

netzerodash 25.02.2019 08:28
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
3
47
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вам нужно переместить следующий блок из вашего проект build.gradle:

dependencies {
    compile 'com.kontaktio:sdk:3.0.2'
}

packagingOptions {
    exclude 'main/AndroidManifest.xml'
}

в ваш модуль build.gradle (обычно модуль приложение).


ваш блок зависимостей проект build.gradle должен использовать classpath вместо compile. Ваш проект build.gradle должен выглядеть примерно так:

buildscript {
    repositories {
        google()
        jcenter()

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

    }

}

allprojects {
    repositories {
        google()
        jcenter()

    }
}

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

Подробнее см. Настройте свою сборку.

Большое спасибо. Теперь я могу это исправить, мое приложение build.gradle отсутствует. Я создал новый проект и снова настроил его, он работает нормально.

netzerodash 25.02.2019 10:59

Рад, что это помогает вам! ;)

ישו אוהב אותך 25.02.2019 11:04

Они меняют «компиляцию» на «реализацию» в последней версии Gradle, поэтому вам нужно изменить

 dependencies {
    compile 'com.kontaktio:sdk:3.0.2'
}

к

 dependencies {
    implementation 'com.kontaktio:sdk:3.0.2'
}

Это только половина проблемы. Также: They change the 'compile' into 'implementation' on latest gradle, so you need to change - это далеко не ново. Реализация была предпочтительнее на некоторое время

Zoe 25.02.2019 15:12

Другие вопросы по теме