Android настраивает сборку gradle с зависимостями

Я пытаюсь настроить проект для сборки с помощью gradle, я не использовал его раньше, поэтому я собрал воедино то, что я читал об инструментах Android. Я просто хочу иметь возможность создавать проект через основное приложение со всеми его зависимостями.

Когда я пытаюсь собрать из приложения и скомпилировать зависимости, я получаю исключение: * Что пошло не так: главный манифест отсутствует в /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')
    }

}

Затем с такими вещами, как утилиты, которые больше зависят от таких модулей:

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

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

person serenskye    schedule 16.05.2013    source источник


Ответы (1)


Возможно, вам не хватает файла settings.gradle, расположенного в корне вашего проекта. Вам нужно указать там, какие папки являются проектами gradle:

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

person lukas    schedule 31.05.2013