ошибка сборки мультипроекта gradle: пакет не существует

у меня есть некоторые проблемы с построением мультипроекта с gradle. Я читал все подобные вопросы, но ничего не помогало. Структура моих проектов выглядит так:

App/
    settings.gradle
    app/
        build.gradle
    libraries/
        Core(git submodule)/
            Core/
                build.gradle
            libraries/
                ZBarLibrary/
                    build.gradle
            settings.gradle

App / настройки.Gradle в

include ':App', ':libraries:Core', ':libraries:ZBarLibrary'
project(':libraries:Core').projectDir = new File(settingsDir, 'libraries/Core/Core')
project(':libraries:ZBarLibrary').projectDir = new File(settingsDir, 'libraries/Core/libraries/ZBarLibrary')

App / app / build.Gradle в

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

repositories {
    mavenCentral()
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 16
    }
}

dependencies {
    compile 'com.android.support:support-v4:18.0.0'
    compile project(':libraries:Core')
}

App / библиотеки / ядро / ядро / сборка.Gradle в

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

repositories {
    mavenCentral()
}

dependencies {
    instrumentTestCompile "junit:junit:4.5+"
    compile project(':libraries:ZBarLibrary')
    compile fileTree(dir: 'libs', include: '*.jar')

}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 16
    }
}

App / библиотеки / ядро / библиотеки / ZBarLibrary / build.Gradle в

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
    }
}
apply plugin: 'android-library'

repositories {
    mavenCentral()
}

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 16
    }

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

команда "gradle build" в каталоге приложений генерирует ошибку: "пакет ком... не существует". Этот пакет используется в модуле приложения, но он находится в App / libraries / Core / Core / src/main / java. Не могли бы вы мне помочь?

3 ответов


Если вы используете Core в качестве библиотеки, вы должны изменить apply plugin: 'android' до apply plugin: 'android-library' на App / библиотеки / ядро / ядро / сборка.Gradle в


сборка вашего модуля приложения.gradle должен содержать (среди прочего)

apply plugin: 'com.android.application'
dependencies {
    compile project(':my_library_module')
}

модуль библиотеки строить.файл gradle должен содержать

apply plugin: 'com.android.library'

для решения пакета не найдены ошибки, в app модуль build.gradle файл, который я добавил

dependencies {
    // ...
    compile project(':library')
}

добавить library модуль как зависимость app модуль