在 Android Studio 上集成 Flurry:Gradle 未找到 DSL 方法 - 'compile()'

Integrating Flurry on Android Studio: Gradle DSL Method not found - 'compile()'

我正在按照说明使用 official tutorial

集成 Flurry Analytics

我运行进入被广泛报道的问题:

Error:(4, 0) Gradle DSL method not found: 'compile()' Possible causes:

  • The project 'My_Project' 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
  • 这是由 Studio 自动生成的 FlurryAnalytics-5.5.0 模块的 gradle 文件:

    configurations.create("default")
    artifacts.add("default", file('FlurryAnalytics-5.5.0.jar'))
    dependencies {
        compile files('FlurryAnalytics-5.5.0.jar')
    }
    

    我知道在 this one 等问题中规定的常见解决方案是避免将 'dependencies' 闭包放在顶级构建文件中。但是,我在该文件中没有任何非 gradle 依赖项,如下所示。

    build.gradle:

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

    compile 选项是 Android Gradle 插件的一部分。

    如果模块是 Android 模块,您需要将该插件应用于模块的 build.gradle 文件。

    apply plugin: 'com.android.application' // Android Gradle Pllugin
    
    android {
        // Your Android configuration
    }
    

    带罐子:

    dependencies {
        compile files('FlurryAnalytics-5.5.0.jar') // Your Jar
    }
    

    或 Maven 依赖:

    dependencies {
        compile 'com.flurry.android:analytics:6.2.0' // Latest Jcenter release
    }