gradle项目构建

gradle中常用的命令

./gradle tasks --all 显示项目中所有的构建任务,也显示每个任务的依赖
./gradle anDep 每个配置的依赖树
./gradle -b app.gradle 使用非默认的构建文件名
./gradlew androidDependencies 查看android依赖
./gradlew -P(配置属性)=xxx assembleDebug 使用-P标志运行gradle
./gradlew tasks 所有的task
./gradlew build -x lint 排除任务
./gradlew -q hello 日志信息 -i -d -q -s -S 输出堆栈信息
./gradlew --refresh-dependencies 强制刷新
./gradlew projects 所有的project

project相关的api

getAllprojects() 获取所有的project的,0是根project
getSubprojects()获取当前工程下的所有子project
getParent() 获取当前工程的父project
getRootProject() 获取根节点project
project(string path,Closure configureClosure) 获取project
allProject{} //配置所有project
subprojects{}不包括当前节点工程,只包括它的subproject

文件相关操作api

getRootDir() 获取根工程路径
getBuildDir()获取build路径
getProjectDir()获取project路径
file()从当前目录下获取文件
files()定位一个或多个文件

------------------------------------------------------------------------------------

配置的方法

/**
 * 配置阶段开始前的监听回调
 */
beforeEvaluate {}

/**
 * 配置阶段完成以后的回调
 */
afterEvaluate {}

/**
 * gradle执行完毕后的回调监听
 */
gradle.buildFinished {}

--------------------------------------------------------------------------------------

copy的使用
copy{
    from
    into
    exclude//拷贝文件夹时用于排除文件
    rename //重命名
}
对文件树进行遍历
  fileTree(dir){
       it.visit {
           FileTreeElement element ->
               element.name
       } 
    }
通过task执行外部命令
task(name:'apkCopy'){
    def sourcePath = this.buildDir.path + '/outputs/apk'
    def descPath = 'Users/用户/Downloads'
    def command = "mv -f ${sourcePath} ${descPath}" //执行的命
    exec {
        try {
            executable 'bash'
            atgs '-c',command
        }catch (GradleException e){
            
        }
    }
}
task的执行顺序
task taskY{
    doLast{
        println 'taskY'
    }
}

task taskZ{
    mustRunAfter taskY //强制在taskY执行后再执行
    doLast{
        println 'taskZ'
    }
}
每个类型变体
afterEvaluate {
    this.android.applicationVariants.all{
        variant->
            def name = variant.name
            def baseName = variant.baseName
            def file = variant.outputs.first().outputFile //输出的apk
            def checkTask = variant.checkManifest
    }
}






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值