buildTypes:设备构建类型,可打出不合类型的包,常见的有debug和release两种,当然你还可以再增长N种
productFlavors:设备不合风格的APP,在buildTypes的基本上还可以让每一个类型的APP拥有不合的风格,所以最终可以打出的APK的数量就是buildTypes乘以productFlavors。构建的变量名称是productFlavors+buildTypes。

dependencies:设备依附,这项可定是大年夜eclipse换到studio后感到最便利的一处了。各类外部依附直接一行代码搞定,不消手动下依附包了。
个中compile fileTree(dir: 'libs', include: ['*.jar'])的意思是依附libs目次下全部的jar文件。
进阶用法
很多第三方SDK须要在AndroidManifest.xml中设备你的一些key信息,以友盟推送为例:
- <meta-data
- android:value=http://mobile.51cto.com/"YOUR_APP_KEY"
- android:name="UMENG_APPKEY"/>
然则你不合测试包和正式包的key是不合的,那么就可以这么修改:
- <meta-data
- android:name="UMENG_APPKEY"
- android:value=http://mobile.51cto.com/"${UMENG_APPKEY}" />
然后在productFlavors中的各个版本中加上不合的信息,如许你打出的不合包采取的appkey也会不一样。
- manifestPlaceholders = [UMENG_CHANNEL: "0",
- UMENG_APPKEY : "123456789"]
不仅这些自定义元数据可以动态设备,android:icon,android:label这些标签也可以修改,如许打出的不合包就有不合的搁笔了,便利做区分
Moudle动态依附
膳绫擎的┞封些功能都是gradle零丁设备的,但我们往往针对不合的构建包有不合的须要在代码中表现的需求谷旦志打印,Toast等等。
在组件化app琅绫擎,我们可能在测试包和正式包须要依附不合组件。比如测试情况须要调试模块,但正式情况不须要。假如productFlavors如下,调试模块名字为module-test。
- productFlavors {
- ceshi{
- }
- publish{
- }
- }
那么在dependencies琅绫擎就可以这么依附test模块:
- ceshiCompile project(':module-test')
同样buildTypes也是实用的,两者可以一路或零丁应用:
Gradle是Android Studio中默认的构建体系。Gradle 采取了 Groovy 说话作为重要的脚本说话。我们app项目标 build.gradle 和APP Moudle里的build.gradle文件,就是一个 Groovy 类。接下来让我就介绍下Gradle的根本功能和高等技能。
- debugCompile project(':module-test') ceshidebugCompile project(':module-test')
代码中攫取变量
固然BuildConfig.DEBUG字段就可以断定,但我们可以用buildConfigField向代码中传递自定义的值,比如不合构建包须要不合Host开首的api地址,不合的https证书路径等,用法为:
- buildConfigField 'type', 'name', '"vaule"'
比如:
- defaultConfig {
- buildConfigField 'String', 'author', '"renny"'
- }
推荐阅读
日前,国务院印发《关于进一步扩大年夜和进级信息花费持续释放内需潜力的指导看法》,提出充分释放内需潜力,>>>详细阅读
本文标题:Gradle日常开发技巧总结
地址:http://www.17bianji.com/lsqh/37179.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示