Multiproject gradle build error: package does not exist

I have some problems building a multiproject with gradle. I read all such questions, but nothing helped. The structure of my projects looks like this:

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

Application / settings.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 / libraries / Kernel / Kernel / build.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 / Libraries / Kernel / Libraries / 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'] } } } 

The gradle build command in the application directory generates an error: "package com ... does not exist." This package is used in the application module, but it is in the application / library / Core / Core / src / main / java. could you help me?

+7
android android-studio build gradle
source share
3 answers

If you use Core as a library, you must change the apply plugin: 'android' to apply plugin: 'android-library' in App / libraries / Core / Core / build.gradle

+4
source share

Your build.gradle application module should contain (among other things)

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

Your build.gradle file of your library module should contain

 apply plugin: 'com.android.library' 
+6
source share

To fix errors not found in the app module build.gradle , I added

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

which adds the library module as a dependency on the app module

+3
source share

All Articles