Gradle 第六讲 之 android插件的入门1

本文详细介绍如何通过配置Gradle属性来显著提升Android项目的编译速度。从全局配置到工程及模块级别的定制,涵盖org.gradle.daemon、org.gradle.jvmargs等关键参数,并对比不同配置下的实际效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在讲解前面的所有讲解之后,我想到的下一个学习内容就是android插件的学习了,

1.配置编译环境变量通过gradle.properties

2.工程编译配置

3.模块编译配置


1.配置编译环境变量通过gradle.properties

首先来介绍第一个属性:

配置0-------以下的参数一个都不配置的时候

org.gradle.daemon=true                    配置1

org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

org.gradle.parallel=true                  配置2

org.gradle.configureondemand=true         配置3


以上的参数就是提高编译速度的属性配置,我分别测试了我的一个工程使用上面配置时的编译速度:

  • 配置0:

BUILD SUCCESSFUL

Total time: 1 mins 30.833 secs

  • 配置1:

BUILD SUCCESSFUL

Total time: 1 mins 23.095 secs

  • 配置2:

BUILD SUCCESSFUL

Total time: 59.13 secs

  • 配置3:

BUILD SUCCESSFUL

Total 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 secs


org.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 productFlavors
                     defaultConfig {                                                        //这里配置的是基本的信息,当然还有version name的version code也在这里配置
   			  applicationId "com.example.activitytest"
   			  minSdkVersion 11
    			  targetSdkVersion 21
			  versionName computeVersionName()             //通过函数定义函数名
                        multiDexEnabled true
		    }

		     productFlavors {                                                     //这里可以配置不同的渠道包,这个内容比较多,详情参考:Gradle多渠道打包
                           
		    }
		   def computeVersionName{
                       .......
		
      
  • buildTypes                                                                       //设置是否可以debug,签名,还有生成的apk后缀,混淆等配置,详情请参考:Gradle buildType作用详解
 
     
  • dependencies
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])        //包含libs下的所有jar
    compile 'com.android.support:appcompat-v7:20.0.0'        //包含依赖的library
    compile project(path: ':app2, configuration: 'android-endpoints')
}
当然除去上面的还有定义自己的jar的路径
provided files('src/main/external_jar/dex2.jar')   //只提供编译,不会打入包中
compile files('src/main/external_jar/editor.jar')





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值