1

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

当我尝试从应用程序构建并编译依赖项时,出现异常: * 出了什么问题:/Users/seren/Dropbox/codes/androids/mixcloud-work/android/Android/mixcloud/app/src/main 中缺少主清单/AndroidManifest.xml

但是,如果我取出其他模块的依赖行,它将开始编译,直到它不可避免地失败: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')
    }

}

然后像 utils 这样对模块有更多依赖的东西:

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

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

1 回答 1

0

您可能会丢失settings.gradle位于项目根目录中的文件。您需要在那里指定哪些文件夹是 gradle 项目:

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

于 2013-05-31T12:51:20.017 回答