Gradle 第六讲 之 android插件的入门1
2015-12-03 19:45
579 查看
在讲解前面的所有讲解之后,我想到的下一个学习内容就是android插件的学习了,1.配置编译环境变量通过gradle.properties2.工程编译配置3.模块编译配置1.配置编译环境变量通过gradle.properties首先来介绍第一个属性:配置0-------以下的参数一个都不配置的时候org.gradle.daemon=true 配置1org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8org.gradle.parallel=true 配置2org.gradle.configureondemand=true 配置3以上的参数就是提高编译速度的属性配置,我分别测试了我的一个工程使用上面配置时的编译速度:配置0:BUILD SUCCESSFULTotal time: 1 mins 30.833 secs配置1:BUILD SUCCESSFULTotal time: 1 mins 23.095 secs配置2:BUILD SUCCESSFULTotal time: 59.13 secs配置3:BUILD SUCCESSFULTotal time: 46.43 secs以上数据为在mac pro版本上使用gradle 2.4的测试结果,具体效果还请在自己机器上尝试,当我使用2.8之后,发现编译速度要慢一点点这些参数都可以配置在gradle配置中的,需要的可以自己更改:在/Users/xiepengchong/.gradle/ 中增加gradle.properties 并配置一下参数,这个是我在命令行中配置的结果,使用studio会更快的我尝试的结果是 原来的clean project的速度是 17s,配置3之后,速度降为Total time: 3.197 secsorg.gradle.workers.max这个配置其实也是提高速度的,但是我将他单独拿出来,原因如下:当我配置org.gradle.workers.max=8的时候,速度会明显慢了很多,大概一分钟,当配置16的时候,才与我不配置时候,速度相同,证明我不配置的时候,其实就是开到了16的worker了,我觉得再配到32其实也是没有必要的,所以这个配不配置,自己考虑吧,配置的不好,可能降低速度org.gradle.java.home这个是配置编译的java home的,你可以设置jdk或者jre位置2.工程编译配置
buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:1.3.0' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } }在之前已经讲解过这个的含义,但是在每个android工程里,都会有这个,而且不是mavenCentral,其实类似的,只是其中包含的内容不同而已,除了jcenter以外,还可以使用JCenter, Maven Central和Ivy地址:https://bintray.com/bintray/jcenter工程sdk配置:local.properties
sdk.dir=/Users/***/Library/Android/sdk以上配置都是工程内有效,当然工程包括很多模块,我们还可以配置模块内有效的参数3.模块编译配置android配置android {
compileSdkVersion 22 //这个是android编译的版本 buildToolsVersion "19.1.0" //这个是android构建工具版本,即aapt,dx等,命名如下:API-LEVEL.0.0
defaultConfig and productFlavorsdefaultConfig { //这里配置的是基本的信息,当然还有version name的version code也在这里配置 applicationId "com.example.activitytest" minSdkVersion 11 targetSdkVersion 21versionName computeVersionName() //通过函数定义函数名multiDexEnabled true}productFlavors { //这里可以配置不同的渠道包,这个内容比较多,详情参考:Gradle多渠道打包}def computeVersionName{.......}buildTypes //设置是否可以debug,签名,还有生成的apk后缀,混淆等配置,详情请参考:Gradle buildType作用详解dependenciesdependencies {compile fileTree(dir: 'libs', include: ['*.jar']) //包含libs下的所有jarcompile 'com.android.support:appcompat-v7:20.0.0' //包含依赖的librarycompile project(path: ':app2, configuration: 'android-endpoints')}当然除去上面的还有定义自己的jar的路径provided files('src/main/external_jar/dex2.jar') //只提供编译,不会打入包中compile files('src/main/external_jar/editor.jar')
相关文章推荐
- Android studio中添加外部的jar包
- Android自定义属性时TypedArray的使用方法
- Android中JNI开发的入门知识:一
- Android SDK 开发范例大全 ---3.11返回数据到前一个Activity
- 简单柱状图的实现
- AndroidStudio安装SVN遇到的坑爹的问题Can't use Subversion command line client
- android studio快捷键大全
- Android 常用 Style 属性
- android反编译apk常用工具
- Android 使用android-support-multidex解决Dex超出方法数的限制问题,让你的应用不再爆棚
- Android studio debug使用正式的签名
- Android PopupWindow with ListView的一些问题
- android init.rc文件语法详解(续)
- android之ContentProvider和Uri详解
- android学习5——画图问题
- 如何优化 Android Studio 启动、编译和运行速度?
- Android Studio关于SVN的相关配置简介
- Android中利用shape定制控件边框
- android More Resource Types
- android-Style Resource