当前位置: 代码迷 >> Android >> Android Gradle库构建:在生成的aar内的jar中包含和排除文件
  详细解决方案

Android Gradle库构建:在生成的aar内的jar中包含和排除文件

热度:66   发布时间:2023-08-04 10:10:53.0

我通过使用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(**)运算符。 也许这是解决方案的方向?

谢谢,

您怀疑**是缺少的成分。 猜测包含的路径可能缺少package_to_includesrc/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'相同

  相关解决方案