自动压缩
使用它有个要求,ProGuard也要启动。这是由于资源压缩的工作方式,因为Android build工具无法计算哪些资源未被使用直到引用这些资源的代码已被移出。
android {
buildTypes {
release {
minifyEnabled = true
shrinkResources = true
}
}
}
如果想详细看到自动化资源压缩后APK变得多小,可以做下面的操作,了解到底多大程度地减少了安装包的大小。
:app:shrinkReleaseResources
Removed unused resources: Binary resource data reduced from 433KB
to 354KB: Removed 18%
添加–info标签到build命令中,可得到被从APK中剥除的资源的概览。
$ gradlew clean assembleRelease --info
BuildConfig类与特定全局变量
在gradle中自动生成BuildConfig类,生成build特定的全局变量,对配置服务器URL等相当重要。举例如下:
defaultConfig {
buildConfigField "String", "TOKEN", '"XXX"'
}
buildTypes {
debug {
buildConfigField "String", "COMMON_URL", '"http://api.dev.com/"'
buildConfigField "boolean", "FLAG", "true"
}
release {
buildConfigField "String", "COMMON_URL", '"http://api.prod.com/"'
buildConfigField "boolean", "FLAG", "false"
}
}
eclipse import手动创建的gradle项目
手动创建的gradle项目是无法直接import到eclipse(或idea),需在build.gradle中加入eclipse(或idea插件)
apply plugin: 'eclipse' //eclipse插件
然后执行gradle eclipse命令。该命令会在工程目录中生成eclipse所需要.settings、.classpath、.project这三个文件。这样就可以import项目到eclipse中了。