我正在尝试建立一个用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')
}
答案 0 :(得分:0)
您可能遗漏了位于项目根目录中的settings.gradle
文件。
您需要指定哪些文件夹是gradle项目:
include ':app', ':facebook', ':actionbarsherlock'