android stdio gradle高级使用(二)

来源:互联网 发布:服务端数据库 编辑:程序博客网 时间:2024/05/19 16:47

自动压缩

使用它有个要求,ProGuard也要启动。这是由于资源压缩的工作方式,因为Android build工具无法计算哪些资源未被使用直到引用这些资源的代码已被移出。

android {    buildTypes {        release {            minifyEnabled = true            shrinkResources = true        }    }}

如果想详细看到自动化资源压缩后APK变得多小,可以做下面的操作,了解到底多大程度地减少了安装包的大小。

:app:shrinkReleaseResourcesRemoved unused resources: Binary resource data reduced from 433KBto 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中了。