AAR Android Library - 禁用资产压缩

时间:2017-05-24 21:22:31

标签: android android-studio gradle aar

我必须在我的AAR中的assets下分发一些不应压缩的文件。

例如,在Android应用中,您可以在build.gradle中执行以下操作:

android {
    ...
    aaptOptions {
        noCompress 'dll'
    }
}

有没有办法从AAR文件中应用它?我宁愿不必包含使用我的AAR来修改其build.gradle文件的开发人员的说明。

1 个答案:

答案 0 :(得分:0)

我认为没有办法从AAR内部设置gradle构建设置。

但是,无论如何,我正在制作一个gradle插件,因此我计划将一个gradle插件与AAR一起发送。

所以在我的插件中我正在这样做:

class AaptOptionsTask extends DefaultTask {

    @TaskAction
    def run() {
        project.configure(project) {
            project.android.aaptOptions.setProperty('noCompress', 'dll')
        }
    }

    AaptOptionsTask() {
        group = 'myGroup'
        description = 'aaptOptions settings'
    }
}

这是一个像这样的任务:

class MyGradlePlugin implements Plugin<Project> {
    @Override
    void apply(Project project) {
        project.task('aaptOptionsTask', type: AaptOptionsTask)
        project.tasks.getByName('preBuild').dependsOn('aaptOptionsTask')
    }
}

如果有另一种方式,我全都听见了。