【问题标题】:Android studio Gradle DSL method not found: compile() while adding slf4android dependencyAndroid studio Gradle DSL 方法未找到:compile() 同时添加 slf4android 依赖项
【发布时间】:2016-08-08 20:49:24
【问题描述】:

我正在尝试使用来自 https://github.com/bright/slf4android 的 slf4android 依赖项,但 gradle 同步有问题。

Build.gardle(项目)


buildscript {
    repositories {
        jcenter()
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.0.0'

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

allprojects {
    repositories {
        jcenter()
    }
}

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

Build.gardle(应用)


apply plugin: 'com.android.application'

android { compileSdkVersion 23 buildToolsVersion "24.0.0 rc2"

defaultConfig {
    applicationId "com.example.vinod.myapplication"
    minSdkVersion 21
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}

} buildscript { repositories { maven { url "@987654322@" } } dependencies { compile('com.gitghub.bright:slf4android:0.1.0'){ transitive = true } } }

dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.3.0' compile 'com.android.support:design:23.3.0' compile('com.gitghub.bright:slf4android:0.1.0'){ transitive = true } }

我收到的错误:


Error:(26, 0) Gradle DSL method not found: 'compile()'
Possible causes:
  • The project 'My Application' may be using a version of Gradle that does not contain the method. Open Gradle wrapper file
  • The build file may be missing a Gradle plugin. Apply Gradle plugin
  • 我对 android 编码非常陌生,不知道我缺少什么。请帮忙。

    【问题讨论】:

      标签: android gradle android-gradle-plugin android-studio-2.0 slf4android


      【解决方案1】:

      url "http://jitpack.io" 应该进入项目级别 build.gradle 而不是模块级别。

      将您的项目级构建 gradle 的 allProjects 更改为:

      allprojects {
          repositories {
              jcenter()
              maven {url "https://jitpack.io"}
          }
      }
      

      并从 app build.gradle 中删除 jitpack url 并同步您的项目。

      【讨论】:

      • 与问题中发布的错误相同。尝试:将 url 移动到项目级别 build.gradle 中的所有项目。从 app build.gradle 中删除并同步。
      • 那么你的问题与 jitpack 库完全无关。注释掉存储库和依赖项,我相信你仍然会看到这个问题。
      • 肯定不是 jitpack 的问题。如问题中所述,问题在于依赖项 slf4jandroid。注释掉依赖关系会导致同步没有问题。
      【解决方案2】:

      尝试用这个替换 Build.Gradle(App) 然后构建:

      apply plugin: 'com.android.library'
      apply plugin: 'com.github.dcendents.android-maven' 
      
      group='com.github.bright'
      
      
      android {
      compileSdkVersion 23
      buildToolsVersion '23.0.2'
      
      defaultConfig {
          minSdkVersion 9
          targetSdkVersion 23
          versionCode 14
          versionName "1.0"
      }
      
      packagingOptions {
          exclude 'LICENSE.txt'
          exclude 'META-INF/LICENSE.txt'
          exclude 'META-INF/LICENSE'
          exclude 'META-INF/NOTICE'
      }
      }
      
      dependencies {
      compile 'org.slf4j:slf4j-api:1.7.7'
      androidTestCompile 'org.hamcrest:hamcrest-all:1.3'
      androidTestCompile('junit:junit:4.11') {
          exclude module: 'hamcrest-core'
      }
      androidTestCompile 'org.easytesting:fest-util:1.2.5'
      
      testCompile 'org.hamcrest:hamcrest-all:1.3'
      testCompile('junit:junit:4.11') {
          exclude module: 'hamcrest-core'
      }
      testCompile 'org.easytesting:fest-util:1.2.5'
      testCompile('org.robolectric:robolectric:3.0') {
          exclude module: 'classworlds'
          exclude module: 'commons-logging'
          exclude module: 'httpclient'
          exclude module: 'maven-artifact'
          exclude module: 'maven-artifact-manager'
          exclude module: 'maven-error-diagnostics'
          exclude module: 'maven-model'
          exclude module: 'maven-project'
          exclude module: 'maven-settings'
          exclude module: 'plexus-container-default'
          exclude module: 'plexus-interpolation'
          exclude module: 'plexus-utils'
          exclude module: 'wagon-file'
          exclude module: 'wagon-http-lightweight'
          exclude module: 'wagon-provider-api'
      }
      }
      

      【讨论】:

      • 没用。收到以下错误:Error:(2, 0) Plugin with id 'com.github.dcendents.android-maven' not found.
      猜你喜欢
      • 1970-01-01
      • 2015-09-16
      • 1970-01-01
      • 1970-01-01
      • 2015-11-19
      • 2015-02-21
      • 2015-03-24
      • 2017-12-10
      • 1970-01-01
      相关资源
      最近更新 更多