2015-10-19 92 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

相關問題