我要在项目中更新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插件版本(例如,在1.1.0中添加了'testCompile')。
将插件升级到版本3.4.1并同步项目
项目'...'可能正在使用不包含该方法的Gradle版本。
打开Gradle包装器文件
生成文件可能缺少Gradle插件。
应用Gradle插件
当我单击第一个提示升级插件时,出现错误,可能是因为我已经使用3.4.1
当我单击第二个时,gradle-wrapper.properties
打开,但是我使用的是最新的gradle-5.1.1-all.zip
,对吧?
然后,当我单击最后一个提示时,会打开一个弹出窗口,其中提供了很多我可以在应用模块中实现的插件。
即使我具有所有必需的版本等,为什么Gradle也找不到implementation()
?我该怎么办?
答案 0 :(得分:0)
build.gradle
中有一个错字,您需要更改以下内容:
implmementation 'com.crashlytics.sdk.android:crashlytics:2.9.3'
对此:
implementation 'com.crashlytics.sdk.android:crashlytics:2.9.3'
您多了m
。
答案 1 :(得分:0)
错误:未找到Gradle DSL方法:“ implmementation()”
检查错误消息。有一个错字。
使用
implementation 'com.crashlytics.sdk.android:crashlytics:2.9.3'
代替
implmementation 'com.crashlytics.sdk.android:crashlytics:2.9.3'