我需要在zip文件中打包一些文本文件,并将其放在我的Android项目的assets
文件夹中。
我正在使用gradle和android studio。
这就是我目前build.gradle
中的内容:
task textsToZip(type: Zip, description: 'create a zip files with all txts') {
destinationDir file("$buildDir/txts")
baseName 'txts'
extension 'zip'
from fileTree(dir: 'text-files', include: '**/*.txt')
into 'assets'
}
android.applicationVariants.all { variant ->
variant.mergeAssets.dependsOn(textsToZip)
}
这似乎不起作用,我没有在正确的地方得到txts.zip。 我很陌生,有人能给我一个关于我做错的提示吗? 谢谢!
答案 0 :(得分:5)
好的,最后我发现了。 我以这种方式为每个变体创建了一个任务:
android.applicationVariants.all { variant ->
def zipTask = project.tasks.create "textsToZip${variant.name.capitalize()}", Zip
zipTask.destinationDir = file(variant.processResources.assetsDir)
zipTask.baseName = "txts"
zipTask.extension = "zip"
zipTask.from fileTree(dir: 'text-files', include: '**/*.txt')
variant.processResources.dependsOn(zipTask)
}
我不知道这是否是最好的方式,但它对我有用,而且我觉得它也很优雅。