如何解决找不到参数[file collection]的方法compile()

时间:2017-06-27 10:05:48

标签: android gradle android-gradle build.gradle

我将项目导入Android Studio,但该项目尚未构建。 我得到的错误信息是:

Error:(20, 0) Could not find method compile() for arguments [file collection]  
on object of type 
org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.

<a href="openFile:C:\Users\xxx\AndroidStudioProjects\WSAppAndroid 
\build.gradle">Open File</a>

如下面的image-1所示,在gradle.build(项目)中,我在依赖项部分中有这些库。

我用谷歌搜索了如何解决这个问题,在我发现的帖子中this one解决了同样的问题。但是接受的答案并没有解决我的问题。

作为解决此问题的尝试,我可以使用compile代替compile files 在build.gradle中?怎么做? 我的问题是

图片-1

enter image description here

build.gradle(项目)

// Top-level build file where you can add configuration options common to  
all sub-projects/modules.

buildscript {
repositories {
    jcenter()
    mavenCentral()
}
dependencies {
    classpath 'com.android.tools.build:gradle:2.3.0'
    classpath 'com.neenbedankt.gradle.plugins:android-apt:1.7' // 1.8?
}
}
allprojects {
repositories {
    jcenter()
    mavenCentral()
}
}

dependencies {
compile files('gradle/wrapper/gradle-wrapper.jar')
compile files('app/libs/android-viewbadger.jar')
compile files('app/libs/iDappsImagesLib_v0.2.jar')
compile files('app/libs/iDappsToolsLib_v0.1.jar')
compile 'com.android.support:support-v4:25.2.0'
}

编译上-ORG-gradle这个-API的内部工件-DSL-依赖新生/ 33991915#33991915

3 个答案:

答案 0 :(得分:0)

如果您想将本地jar作为依赖项添加,我建议。

添加apply plugin: 'java'

将您的文件夹添加为存储库

repositories {
   flatDir {
       dirs 'libs'
   }
}

然后将它们添加到依赖项中。

dependencies {
   compile name: 'whatever'
}

另一件事是你为什么要把Gradle包装器作为依赖项添加?

答案 1 :(得分:0)

这里的问题是,在项目中使用本地库,因此您需要添加compile fileTree(include: ['*.jar'], dir: 'libs')现在gradle将导入位于jars文件夹中的libs

所以你会有

dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile files('gradle/wrapper/gradle-wrapper.jar')
compile files('app/libs/android-viewbadger.jar')
compile files('app/libs/iDappsImagesLib_v0.2.jar')
compile files('app/libs/iDappsToolsLib_v0.1.jar')
compile 'com.android.support:support-v4:25.2.0'
}

答案 2 :(得分:0)

在较新版本的 gradle 中,compile 已被 implementation 替换,将 compile 替换为 implementation,并将 compile group 替换为 build.gradle 文件中的implmenetation group。