Я обновляю Android Studio, Gradle и плагин gradle в своем проекте, потому что я хочу реализовать MoPub.
Кажется, что MoPub работает только с новыми версиями gradle, поэтому мне, наконец, нужно обновитьс 2.3 до 3.4.x
Я так и сделал, я даже обновил Android Studio, но все же, когда я синхронизирую проект, реализация DSL () не найдена.
мой build.gradle(Проект):
buildscript {
repositories {
google()
jcenter()
maven { url 'https://maven.fabric.io/public' }
maven {
url 'https://maven.google.com/'
name 'Google'
}
maven { url "https://s3.amazonaws.com/moat-sdk-builds" }
}
dependencies {
classpath 'com.android.tools.build:gradle:3.4.1'
classpath 'com.google.gms:google-services:3.2.0'
classpath 'io.fabric.tools:gradle:1.25.4'
}
}
allprojects {
repositories {
jcenter()
maven {
url 'https://maven.google.com/'
name 'Google'
}
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
мой build.gradle (приложение):
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
android {
compileSdkVersion 26
buildToolsVersion "26.0.1"
defaultConfig {
applicationId "..."
minSdkVersion 23
targetSdkVersion 26
versionCode ...
versionName "..."
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
repositories {
jcenter() // includes the MoPub SDK and AVID library
maven { url "https://s3.amazonaws.com/moat-sdk-builds" }
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
implmementation 'com.crashlytics.sdk.android:crashlytics:2.9.3'
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.0'
implementation 'com.google.firebase:firebase-core:12.0.1'
implementation 'com.google.firebase:firebase-firestore:12.0.1'
testImplementation 'junit:junit:4.12'
implementation('com.mopub:mopub-sdk:+@aar') {
transitive = true
}
}
apply plugin: 'com.google.gms.google-services'
При синхронизации появляется следующее сообщение:
ОШИБКА: GradleМетод DSL не найден: 'implmementation ()'
Возможные причины:
В проекте "..." может использоваться версия подключаемого модуля Android Gradle, которая не содержит метод (например, 'testCompile 'был добавлен в 1.1.0).
Обновите плагин до версии 3.4.1 и синхронизируйте проект
Проект "..." может использовать версию Gradle, котораяне содержит метод.
Открыть файл оболочки Gradle
Возможно, файл сборкиотсутствует плагин Gradle.
Применить плагин Gradle
Когда я нажимаю первую подсказку для обновления плагина, я получаю ошибку, вероятно, потому что я уже использую 3.4.1
Когда я нажимаю второй, открывается gradle-wrapper.properties
, но я использую gradle-5.1.1-all.zip
, который является самым новым, верно?
И когда я нажимаю последний совет, открывается всплывающее окно, которое предлагает массу плагинов, которые я могвнедрить в приложение Модуль.
Почему Gradle не находит implementation()
, хотя у меня есть все необходимые версии и т. д.?Что мне делать?