Gradle 编译常用命令以及参数

388 阅读1分钟

Gradle

【Android Gradle基础,插件化开发等】

Gradlew 常用命令

./gradlew build //检查以来并编译包文件
./gradlew assembleDebug //构建debug包
./gradlew installDebug 构建并安装debug包
./gradlew uninstallDebug //卸载Debug安装包

./gradlew clean 清除build下的产物。
./gradlew clean build --refresh-dependencies //强制刷新依赖


./gradlew tasks 查看主要的task
./gradlew tasks --all 查看所有的task
./gradlew taskName 执行指定name的task


./gradlew dependencies 查看项目根目录下的依赖
./gradlew app:dependencies 查看app模块的依赖。



日志相关
-q , --quite 
仅记录错误
-w, --warn
警告级别日志
-i, -info

-d, --debug 
调试级别日志。

-s ,--stacktrace
查看堆栈信息。
-S, --full-stacktrace
查看详细堆栈。

性能相关命令
./gradlew assembleDebug --profile //编译并输出性能报告
./gradlew assembleDebug --scan 编译并输出更详细的日志。
Gradle 自定义项目参数
./gradlew assembleDebug -PisTest=true

使用-P传入一个参数 isTest字段, 赋值为true,可以在build.gradlew中直接获取

if(hasProperty("isTest")){
		val isTest= Boolean.valueOf('isTest')
}

//或者
project.property('isTest')

参数使用方法:

dependencies {

    implementation 'androidx.core:core-ktx:1.7.0'

    if (project.hasProperty("isTest")) {
        println("---hasProperty isTest yes")
        if (Boolean.valueOf(getProperty('isTest'))) {
            println("---isTest true")

            implementation 'com.yechaoa.gradlex.devtools:devtools:1.1.1'

        } else {
            println("---isTest false")

            implementation 'com.yechaoa.gradlex.devtools:devtools:2.2.2'
        }
    } else {
        println("---hasProperty isTest no")
    }

    testImplementation 'junit:junit:4.13.2'
}