Android Gradle库构建:Include&从生成的aar中的jar中排除文件

时间:2015-10-19 07:03:21

标签: android groovy gradle android-gradle build.gradle

我通过使用Gradle构建aar来导出Android库,我对jar中的aar有要求:基本上我需要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根本不在罐子里。

顺便说一句,我并不完全熟悉双astrix(**)运算符。也许这是解决方案的方向?

谢谢,

1 个答案:

答案 0 :(得分:2)

您怀疑**是缺失的组件。猜测包含的路径可能会错过src/main/java的{​​{1}}前缀。

package_to_include表示隐藏的任何文件夹。例如:

**

此行也很奇怪src/main/java/package_to_include/image.jpg src/main/res/image.jpg // both would match **/image.jpg ,因为它与srcDir 'src/../lib'

相同