Czy ta struktura jest dozwolona?Czy biblioteki Androida w Gradle mogą mieć inne biblioteki Androida jako zależności?
MyProject/
| settings.gradle
+ app/
| build.gradle
+ libraries/
+ lib1/
| settings.gradle
| build.gradle
+ libraries/
+ sublib1/
| build.gradle
+ sublib2/
| build.gradle
+ lib2/
| build.gradle
Miałem to działa z Ant, ale z Gradle mój projekt nie może znaleźć sublib1 lub sublib2.
Kiedy biegnę Gradle otrzymuję ten błąd:
* What went wrong:
A problem occurred evaluating project ':libraries:lib1'.
> Project with path ':libraries:sublib1' could not be found in project ':libraries:lib1'.
To jest settings.gradle z myproject:
include ':libraries:lib1'
include ':libraries:lib2'
To build.gradle z 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')
}
}
To settings.gradle z LIB1:
include ':libraries:sublib1'
include ':libraries:sublib2'
To build.gradle z 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
}
Czy to kiedykolwiek pracować dla Ciebie? –
Nie. Poddałem się i wróciłem do zaćmienia. – theJosh