Is this structure allowed?
MyProject/
| settings.gradle
+ app/
| build.gradle
+ libraries/
+ lib1/
| settings.gradle
| build.gradle
+ libraries/
+ sublib1/
| build.gradle
+ sublib2/
| build.gradle
+ lib2/
| build.gradle
I had this working with Ant but with Gradle my project can't find sublib1 or sublib2.
When I run gradle I get this error:
* What went wrong:
A problem occurred evaluating project ':libraries:lib1'.
> Project with path ':libraries:sublib1' could not be found in project ':libraries:lib1'.
This is settings.gradle from MyProject:
include ':libraries:lib1'
include ':libraries:lib2'
This is build.gradle from MyProject:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.4'
}
}
apply plugin: 'android'
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
compile project(':libraries:lib1')
compile project(':libraries:lib2')
}
android {
compileSdkVersion 15
buildToolsVersion "17.0.0"
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
instrumentTest.setRoot('tests')
}
}
This is settings.gradle from lib1:
include ':libraries:sublib1'
include ':libraries:sublib2'
This is build.gradle from lib1:
buildscript {
repositories {
mavenCentral()
}
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
compile project(':libraries:sublib1')
compile project(':libraries:sublib2')
}
}
apply plugin: 'android-library'
android {
compileSdkVersion 15
}
The third-party libraries are reusable resources that are widely employed in Android Apps. While the third-party libraries provide a variety of functions, they bring serious security and privacy problems. The third-party libraries and the host Apps run in the same process and share the same permissions.
Gradle does not seem to support several settings.gradle
files. This file should be present only in the project root and should include all the subprojects :
include ':libraries:lib1', ':libraries:lib1:libraries:sublib1', ':libraries:lib1:libraries:sublib2', ':libraries:lib2'
Source : http://www.gradle.org/docs/current/userguide/multi_project_builds.html
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With