【发布时间】:2014-01-05 16:57:05
【问题描述】:
我有一些带有 build.gradle(s) 的纯资源 Java 项目:
apply plugin: 'java'
apply plugin: 'idea'
apply plugin: 'eclipse'
及目录结构:
flavor1/
src/
main/
resources/
assets/
file1.png
flavor2/
src/
main/
resources/
assets/
file1.png
还有一个带有 build.gradle 的项目(这次是 Android):
android {
compileSdkVersion 19
buildToolsVersion "19"
defaultConfig {
minSdkVersion 9
targetSdkVersion 19
}
productFlavors {
flavor1 {
packageName "com.mydomain.flavor1"
}
flavor2 {
packageName "com.mydomain.flavor2"
}
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
res.srcDirs = ['res']
assets.srcDirs = ['assets']
java.srcDirs = ['src/main/java']
}
flavor1 {
res.srcDirs = ['res-flavor1']
assets.srcDirs = ['assets-flavor1']
}
flavor2 {
res.srcDirs = ['res-flavor1']
assets.srcDirs = ['assets-flavor2']
}
}
}
dependencies {
flavor1Compile project(':flavor1')
flavor2Compile project(':flavor2')
}
目录结构:
android_project/
assets/
assets-flavor1/
assets-flavor2/
res/
res-flavor1/
res-flavor2/
src/
main/
java/
com/
...
问题是来自普通 Java 项目 :flavor1 和 :flavor2 的资源未包含在生成的 APK 中。如果我将它们包含为全局依赖项:
dependencies {
compile project(:flavor1)
}
它们都包含在 APK 中。
这些纯 Java 项目的原因是它们是 Android 项目风格和其他项目(iOS、HTML、Java,问题中未描述)的资源,因此我不能将它们直接包含在 Android 项目资产中.
你能帮帮我吗?
【问题讨论】:
标签: java android resources dependencies gradle