2014-04-28 52 views
1

我试图添加一个外部库。我在项目文件夹下的/ libs文件夹中创建了并在我的gradle.build文件中包含以下代码。但它根本不同步。Gradle无法编译.aar文件

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

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

allprojects { 
    repositories { 
    mavenCentral() 
     flatDir { 
      dirs 'libs' 
     } 
    } 
} 

dependencies { 
    compile 'com.radiusnetworks:AndroidIBeaconLibrary:[email protected]' 
} 

我得到的错误是: 摇篮“BLE_Client”项目刷新失败: 构建脚本错误,不支持的摇篮DSL方法发现:“编译()”! 可能的原因是:
- 您使用的摇篮版本,其中方法不存在 - 你没有应用摇篮插件,它提供了方法 - 或有一个构建脚本错误

+0

这看起来像是基于文件注释的''''build.gradle''''文件...不应该''''''''''''''''''' 'buildscript''''或''allprojects'''' closure? – OceanLife

+0

我已经尝试了这两个 - 在buildscript里面添加allProjects和dependencies宏。它仍然给出错误: 没有方法的签名:org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.compile()适用于参数类型:(java.lang.String)values:[com .radiusnetworks:AndroidIBeaconLibrary:[email protected]] 可能的解决方案:模块(java.lang.Object) – javaProgrammer

+0

接下来的猜测是root build.gradle文件对android和AARs一无所知,将它应用到应用程序build.gradle文件当android插件是一个已知的东西。 – OceanLife

回答

3

你不应该”将此依赖项添加到根级build.gradle文件中。将它添加到您的模块的build.gradle文件中。顶层构建文件适用于项目中所有模块共有的内容,但很可能您不希望所有模块具有相同的依赖关系,甚至不希望共享此模块。

+0

谢谢!这工作 – javaProgrammer

+0

@Scott如何代表较低级别的本地文件build.gradle –

+0

最简单的事情就是在项目结构对话框中使用UI。它会做正确的事情。 –