首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用gradle在android项目中生成资产

使用gradle在android项目中生成资产
EN

Stack Overflow用户
提问于 2014-09-16 06:40:55
回答 1查看 3.2K关注 0票数 5

我需要将一些文本文件打包到一个zip文件中,并将其放在我的Android项目的assets文件夹中。我正在使用gradle和android工作室。我现在的build.gradle就是这样的:

代码语言:javascript
复制
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放在正确的位置。我对gradle很陌生,有人能给我一个提示吗?我做错了什么?谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-16 10:53:03

好吧,最后我想通了。我为每个变体创建了一个任务,这样:

代码语言:javascript
复制
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)
}

我不知道这是不是最好的方法,但它对我有效,我觉得它也相当优雅。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25862155

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档