Android Gradle 库构建 : Include & exclude files from the jar inside the generated aar

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

我通过使用 Gradle 构建 aar 导出 Android 库,并且我对 aar 中的 jar 有要求:基本上我需要 jar反射(reflect)项目中已存在的以下文件结构(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'
            }
        }
    }
}

结果:exclude 部分起作用,include 不起作用:在 package_to_include 的 jar 中,只有 java 源代码文件作为 .class 文件。 jpeg 根本不在 jar 里。

顺便说一下,我对双星号 (**) 运算符不是很熟悉。也许这就是解决的方向?

谢谢,

最佳答案

您怀疑 ** 是缺少的组件。猜测您的包含路径可能缺少 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' 一样

关于Android Gradle 库构建 : Include & exclude files from the jar inside the generated aar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33208453/

相关文章:

maven - sonar maven分析仅选择.java文件

android - gradlew assembleRelease在使用targetCompatibility 1.8时失败

java - Android:在 xml 中自定义 ViewPager

android - list 合并在 android studio 中失败

android - 如何防止安卓的内购项目被破解

unit-testing - 使用带有 GMock 的模拟服务测试 Grails Controller (0.8.0)

android - 在快速设置面板中禁用蓝牙磁贴

java - 使用 azure-messaging-servicebus 创建具有授权规则的主题

gradle - 分解gradle任务

android - Android Studio无法导入Gradle