Gradle Task

基本tasks

android插件依赖于Java插件,而Java插件依赖于Base插件

base插件有基本的tasks生命周期和一些通用的属性

base插件定义了assemble task和clean task;Java插件定义check task 和build任务。

task的约定含义:

  • assemble:集合所有的output

  • clean:清除所有的output

  • check:执行所有的checks,一般是unit测试和instrumentation测试

  • build:执行所有的assemble和check

Android tasks

Android插件继承了上述的基本tasks,并实现了它们的行为:

  • assemble:针对每个版本创建一个apk

  • clean:删除所有的构建任务,包含apk文件

  • check:执行Lint检查并能够在检测到错误后停止执行脚本

  • build:执行assemble和check

Android插件还提供了一些新的tasks:

  • connectedCheck:在测试机上执行所有测试任务

  • deviceCheck:在远程设备上执行测试任务

  • installDebug/instasllRelease:在设备上安装相对应版本的apk

  • 所有install task对应的uninstall task

build task依赖于check任务,但是不依赖于connectedCheck或者deviceCheck,执行check任务的使用Lint会产生一些相关文件,这些报告可以在app/build/outputs中查看

Android Studio执行Tasks

1、在Terminal输入命令行执行

2、在Gradle projects面板双击任务执行

自定义BuildConfig

在模块中的build.gradle文件中

android {
    buildTypes {
        debug {    
            buildConfigField "String", "API_URL", "\"http://www.baidu.com\""
            buildConfigField "boolean", "LOG_HTTP_CALLS", "true"
     }
       release {
            buildConfigField "String", "API_URL","\"http://www.baidu.com\""
            buildConfigField "boolean", "LOG_HTTP_CALLS","false"
     } 
 }

给不同版本定义常量,格式为:类型,常量名,常量值,这些常量会在包名.buildConfig中生成
在代码中使用这些常量:BuildConfig.常量名(例如:BuildConfig.API_URL)

参考资料:

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

推荐阅读更多精彩内容

  • 参考资料:http://gold.xitu.io/post/580c85768ac247005b5472f9htt...
    zhaoyubetter阅读 11,044评论 0 6
  • 转载注明出处:http://www.jianshu.com/p/5255b100930e 0. 前言 完全由个人翻...
    王三的猫阿德阅读 2,581评论 0 4
  • 前言 我们的项目打包APK前需要根据业务需要更改AndroidManifest文件内容和替换so文件来生成不同的a...
    咖枯阅读 54,522评论 10 59
  • 说明 本文主要介绍和Gradle关系密切、相对不容易理解的配置,偏重概念介绍。部分内容是Android特有的(例如...
    jzj1993阅读 15,758评论 1 62
  • 今天突然发现了闲置在阳台摞地高高的杂物。大部分,是我这一年来的试卷。这些试卷上面勾勾叉叉的全都在诉苦着九年级难...
    美人城府深阅读 212评论 0 0