AAR Android 库 - 禁用资产压缩
AAR Android Library - disable compression on assets
我必须在我的 AAR 中分发 assets
下不应压缩的一些文件。
例如,在 Android 应用程序中,您可以在 build.gradle
中执行以下操作:
android {
...
aaptOptions {
noCompress 'dll'
}
}
有没有办法从 AAR 文件中应用它?我宁愿不必为使用我的 AAR 的开发人员修改他们的 build.gradle
文件提供说明。
我认为没有办法从 AAR 内部设置 gradle 构建设置。
但是,我正在制作一个 gradle 插件,所以我计划随 AAR 发布一个 gradle 插件。
所以在我的插件中我这样做:
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')
}
}
如果有其他方法,我洗耳恭听。
我必须在我的 AAR 中分发 assets
下不应压缩的一些文件。
例如,在 Android 应用程序中,您可以在 build.gradle
中执行以下操作:
android {
...
aaptOptions {
noCompress 'dll'
}
}
有没有办法从 AAR 文件中应用它?我宁愿不必为使用我的 AAR 的开发人员修改他们的 build.gradle
文件提供说明。
我认为没有办法从 AAR 内部设置 gradle 构建设置。
但是,我正在制作一个 gradle 插件,所以我计划随 AAR 发布一个 gradle 插件。
所以在我的插件中我这样做:
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')
}
}
如果有其他方法,我洗耳恭听。