gradle(6)-file相关api

文件相关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/'

            }

        }

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,281评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,760评论 25 709
  • 1.比较小数相等时,切记不要直接使用===,而是使用相减取绝对值的方式----------------------...
    JasonCooper阅读 292评论 0 0
  • 生命是这般无常。 早上出行,沿途见家里的美景,心里全是惜时和赞叹。18岁前从未长达几月之久的离开过这个叫家的城市,...
    大号爸爸阅读 255评论 0 0
  • - (void)viewDidLoad { [super viewDidLoad]; //自转 _view1= [...
    nothing_c阅读 169评论 0 0