我有这个gradle错误。
错误:(9,0)未找到Gradle DSL方法:' compile()'
我尝试过引用类似的问题,但它没有用。
Android gradle build Error:(9, 0) Gradle DSL method not found: 'compile()'.
Getting Error "Gradle DSL method not found: 'compile()'" when Syncing Build.Gradle
Unsupported Gradle DSL method found: 'compile()'!
我的build.gradle
代码在这里
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.0.0'
compile 'com.android.support:appcompat-v7:20.+'
compile 'com.google.android.gms:play-services:6.5.+'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
build.gradle(Module.app)
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.1"
defaultConfig {
applicationId "com.example.simplemaker.pushtest"
minSdkVersion 9
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
}
我的代码出了什么问题?
抱歉我的英文。
非常感谢!
答案 0 :(得分:111)
正如您项目的build.gradle
文件提示:
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
删除该gradle文件中的2个编译语句:
compile 'com.android.support:appcompat-v7:20.+'
compile 'com.google.android.gms:play-services:6.5.+'
然后让你的其他(模块的)build.gradle
依赖项看起来像这样:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
compile 'com.google.android.gms:play-services:6.5.+'
}
答案 1 :(得分:35)
我正在使用基于IntelliJ Idea的Android工作室,我已经更改了设置何时以及如何包装代码。我也自动重新格式化了#39;导致随机格式化Gradle文件的选项。所以它导致了这样的事情:
compile 'de.greenrobot:eventbus:2.4.0' compile 'com.jakewharton:butterknife:7.0.1'
Gradle然后找不到第二次编译的compile()。因为你只允许每行写一个依赖项。
答案 2 :(得分:30)
这是一个非常愚蠢的问题,我得到了解决方案:
因为编译语句在一行中
compile "com.squareup.okhttp3:okhttp:$okHttpVersion" compile "com.squareup.okhttp3:okhttp-urlconnection:$okHttpVersion" compile "com.squareup.okhttp3:logging-interceptor:$okHttpVersion" compile "com.google.code.gson:gson:$gsonVersion"
我刚接下一行改变并解决了我的问题:
compile "com.squareup.okhttp3:okhttp:$okHttpVersion"
compile "com.squareup.okhttp3:okhttp-urlconnection:$okHttpVersion"
compile "com.squareup.okhttp3:logging-interceptor:$okHttpVersion"
compile "com.google.code.gson:gson:$gsonVersion"
希望它会对你有所帮助。谢谢。
答案 3 :(得分:7)
检查 build.gradle 文件,有时当您使用项目设置将模块添加到当前模块时,当前模块的 build.gradle 已损坏,并且缩进被破坏,只需检查当前的 build.gradle 并检查是否所有的编译语句都是以新行发布的!
答案 4 :(得分:5)
答案 5 :(得分:2)
检查您的项目。 有2个build.gradle。
Move your compile line to another build.gradle
答案 6 :(得分:0)
应用程序依赖项必须包含在 app - >中build.gradle 文件。不在项目中 - > build.gradle文件。
答案 7 :(得分:0)
一个简单的错误也可能导致此问题,不包括classpath
build.gradle(Module:app)
UnorderedObjectListWarning
依赖项
答案 8 :(得分:0)
就我而言,出现此错误是因为我在dependencies
块之外有一个依赖项实现行。像这样:
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.1.0'
...
}
implementation 'androidx.media:media:1.1.0'
请注意,所有实现调用都必须在依赖关系块中定义。这是简单的解决方法。
我希望这可以帮助某个人。
快乐的编码!