问题描述
我通过使用Gradle构建aar
导出Android库,并且对aar
内的jar
有要求:基本上,我需要jar来反映项目中已经存在的以下文件结构(jpeg文件应与.class
文件一起放在java包中) :
project_name
|
module_name
|
src
|
main
|
java
|
package_to_include
|
java_files
jpeg_files
package_to_exclude
这是build.gradle
脚本的相关部分:
apply plugin: 'com.android.library'
android {
...
sourceSets {
main {
java {
srcDir 'src/main/java'
exclude 'package_to_exclude/**'
resources.includes = [ 'package_to_include/*.jpeg' ]
}
resources {
srcDir 'src/../lib'
}
}
}
}
结果:排除部分有效,但包含无效:在package_to_include内的jar中,只有Java源代码文件为.class
文件。
jpeg根本不在罐子里。
顺便说一下,我并不完全熟悉double astrix(**)运算符。 也许这是解决方案的方向?
谢谢,
1楼
您怀疑**
是缺少的成分。
猜测包含的路径可能缺少package_to_include
的src/main/java
前缀。
**
表示所有文件夹。
因此,例如:
src/main/java/package_to_include/image.jpg
src/main/res/image.jpg
// both would match
**/image.jpg
另外,这行是奇怪的srcDir 'src/../lib'
因为它与srcDir 'lib'
相同