使用gradle在android项目中生成资产
我需要将一些文本文件打包到一个zip文件中,并将其放入我的Android项目的使用gradle在android项目中生成资产,android,gradle,android-gradle-plugin,Android,Gradle,Android Gradle Plugin,我需要将一些文本文件打包到一个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' exte
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放在正确的位置。
我是格拉德尔的新手,有人能告诉我我做错了什么吗?
谢谢 好吧,最后我想出来了。 我为每个变体创建了一个任务,方法如下:
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)
}
我不知道这是否是最好的方法,但它对我很有效,我发现它也很优雅。什么不起作用?在构建结束时,
资产
目录中没有zip文件。在这种情况下,zip是什么?我需要这类任务,但要为每个变体将sass编译为Css。看(你可以得到50个声望)