把下面的代码拷贝到app的gradle.build文件内
1 2 3 4 5 6 7 8 9 10 11 |
android.applicationVariants.all{ variant -> delete "${buildDir}/intermediates/merged_assets/${variant.dirName}" // buildDir是app下的build目录 variant.mergeAssets.doLast{ def sourceDir = "${buildDir}/../" // 资源存放目录,这里是app下 print "${buildDir} \n" // 打印路径 copy { // 将from目录下的资源拷贝到into 下目录去 from "${sourceDir}/fromDir" into "${outputDir}/res" } } } |
注意:上面的配置需要工程使用的 com.android.tools.build:gradle 版本高于3.3.0,低于该版本的存在BUG,可能会报错,另外 2.x的配置参数与上述的不同,需要注意。
如果模块是Android Library,则需要如下配置:
1 2 3 4 5 6 7 8 9 10 11 |
android.libraryVariants.all{ variant -> delete "${buildDir}/intermediates/merged_assets/${variant.dirName}" // buildDir是app下的build目录 variant.mergeAssets.doLast{ def sourceDir = "${buildDir}/../" // 资源存放目录,这里是app下 print "${buildDir} \n" // 打印路径 copy { // 将from目录下的资源拷贝到into 下目录去 from "${sourceDir}/fromDir" into "${outputDir}/res" } } } |
设置完成后,执行Make Project,
可以看到在 log看到打印的buildDir路径。
之后可以在 工程目录 \app\build\intermediates\merged_assets\debug\mergeDebugAssets\out\res 看到文件已经拷贝过去