文件相关api包括:路径获取相关api 和文件操作相关api,文件操作api只使用于工程的目录下操作.跨工程不能使用gradle中api,可以使用groovy中的api
获取路径:
//获取根工程的文件夹路径
println("根工程的文件路径:::"+getRootDir().absolutePath)
//获取build文件的路径(在根project中获取的就是根目录下的build文件,在app目录下获取的就是app目录下的build文件名称
println("build文件名字:::"+getBuildDir().name)
//获取当前工程的路径
println("获取当前工程的路径::::"+getProjectDir());
//文件定位的方法:作用是以当前project目录寻找文件(apply from:this.file('common.gradle'))
//file()方法相比new file来说用法一样,只是他无需传绝对路径,传的路径会被转为相对当前project路径的相对路径.
//在app的project中直接传文件名字的字符串,就可以找的到:storeFile file(rootProject.ext.android.signConfigs.storeFile)
def getContext(String path){
try{
def file=file(path)
return file.text()
}catch (Exception e){
}
return null
}
//文件拷贝,在app的project中,拷贝app.iml到根目录下的build文件中.
copy{
from file('app.iml')
into getRootProject().getBuildDir()
}
//常用的是拷贝apk,到别的地方
copy{
from file('build/outputs/apk/')
into getRootProject().getBuildDir().path+'/apk/'
exclude()//排除某个或某类型文件
rename()//重命名
}
//对文件树进行遍历
fileTree('build/outputs/apk/'){
FileTree fileTree->
fileTree.visit {FileTreeElement element->
println("file name is:::"+element.file.name)
copy{
from element.file
into getRootProject().getBuildDir().path+'/text/'
}
}
}
共同学习,写下你的评论
评论加载中...
作者其他优质文章