2015-10-19 166 views
1

我通过使用Gradle构建aar导出Android库,并且我对aar中的jar有要求:基本上我需要jar来反映以下文件结构已经存在的项目(JPEG文件应该是里面的java包旁边.class文件):Android Gradle库构建:在生成的aar中包含和排除jar文件

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' 
      } 
     } 
    } 
} 

结果:排除部分工作,include不包括:在package_to_include中的jar文件中只有java源代码文件为.class文件。 jpeg根本不在罐子里。

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

感谢,

回答

2

当你怀疑**是缺少的组成部分。猜测包含的路径可能会丢失src/main/java前缀package_to_include

**表示隐藏的任何文件夹。因此,例如:

src/main/java/package_to_include/image.jpg 
src/main/res/image.jpg 
// both would match 
**/image.jpg 

而且这条线是怪异srcDir 'src/../lib',因为它同srcDir 'lib'

+0

1.因为'SRCDIR“的src/main/java''我可以在范围仅从明年使用'package_to_include'。 – michael

+0

2.仍然我不明白为什么它不起作用,因为我应该如何使用包含? – michael

相关问题