Android使用依赖项设置gradle构建

时间:2013-05-16 17:44:12

标签: android gradle android-build

我正在尝试建立一个用gradle构建的项目,之前我没有使用它,所以我拼凑了我在android工具上阅读的内容。我只是想通过主应用程序及其所有依赖项来构建项目。

当我尝试从应用程序构建并编译依赖项时,我得到一个例外: * 什么地方出了错: /Users/seren/Dropbox/codes/androids/mixcloud-work/android/Android/mixcloud/app/src/main/AndroidManifest.xml中缺少主要清单

但是,如果我取出其他模块的dependanices行,它将开始编译,直到它不可避免地失败:compile project(':actionbarsherlock')

编辑 - 我做了一个由两个模块组成的测试项目。如果我从平面层次结构开始,我会得到描述的问题。但是,如果我然后移动主应用程序模块内的子模块,该项目不会产生任何问题。我想保持平坦的等级。

我的项目结构是:

主要应用 ActionBarSherlock Facebook SDK Utils - 仅限Java

所以我在每个项目目录中设置了一个build.gradle文件,如下所示:

    buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:0.3'
    }
}

apply plugin: 'android'

dependencies {
    compile files (
            '../../libs/android-support-v4.jar',
    )
}

android {
    compileSdkVersion 17
    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aild.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }

        instrumentTest.setRoot('tests')
    }

}

然后使用像这样的模块具有更多依赖性的函数:

dependencies {
    compile files (
            'libs/android-support-v4.jar',
            'libs/gson-2.2.2jar',
    )

    compile project(':facebook')
    compile project(':actionbarsherlock')
}

1 个答案:

答案 0 :(得分:0)

您可能遗漏了位于项目根目录中的settings.gradle文件。 您需要指定哪些文件夹是gradle项目:

include ':app', ':facebook', ':actionbarsherlock'