Android studio Gradle无法找到方法compile()

时间:2013-12-01 11:31:54

标签: android android-studio

过去两天我试图找到解决这个问题的方法,但没有运气。

我正在尝试包含GSON lib。进入我的android项目。

这是我文件夹结构的图片:

Folder

现在在我的build.gradle中,我有以下内容:

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

dependencies {
    compile files('libs/gson-2.2.4.jar')
}

我也右键单击了gson-2.2.4.jar并将其添加为lib。

当我编译时,我得到以下错误:

    Gradle: A problem occurred evaluating root project 'notebox-android'.
> Could not find method compile() for arguments [directory 'libs'] on root project 'notebox-android'.

任何人都可以帮我吗?

如果您需要更多信息,请告诉我!

2 个答案:

答案 0 :(得分:10)

这个问题的答案可能会帮助您正确导入您的gson库并避免任何编译/链接问题:Android Studio - Importing external Library/Jar。另一个相关链接:Android Studio: Add jar as library?已接受答案。两个答案都说同样的话。添加/导入jar文件并编辑build.gradle文件后gradlew clean

HTH。

编辑:有两个build.gradle文件。您应该编辑项目文件夹下的build.gradle而不是project-root文件夹下的build.gradle。

答案 1 :(得分:2)

当我添加v7 appcompat存储库时,我遇到了同样的问题。

最初我认为Android Studio 0.5.4没有更新build.gradle文件,但根据Marc的上述警告我发现我正在编辑错误的build.gradle文件:我在项目中编辑了一个文件夹,而不是app文件夹中的文件夹。使用SDK Manager添加appcompat存储库和支持库时,app文件夹中的某个文件会自动使用compile()指令进行更新。

所以问题结果是我忽略了调整app文件夹中build.gradle文件中的minSdkVersion和targetSdkVersion设置:

我不得不改变它:

    defaultConfig {
    minSdkVersion 10
    targetSdkVersion 19
    versionCode 1
    versionName "1.0"
}

为:

    defaultConfig {
    minSdkVersion 7
    targetSdkVersion 17
    versionCode 1
    versionName "1.0"
}

匹配与Android 2.1的后兼容性(即v7 appcompat)。

另一个提示(如果它甚至可以作为一个提示):

我正在为操作栏添加v2.1向后兼容支持,结果是在0.5.4(我怀疑与此问题的0.5.3不同)你需要将ActionBarActivity导入主activity .java类文件:

import android.support.v7.app.ActionBarActivity;

而不是:

import android.support.v7.app.ActionBar; //Android Studio 0.5.4 IDE lists this as unused.

作为http://developer.android.com/training/basics/actionbar/setting-up.html的初学者项目表示。

当我进行上述两项调整时,构建工作正常。