Android Studio Gradle使用笔记
来源:互联网 发布:新网域名管理密码 编辑:程序博客网 时间:2024/05/16 14:20
Android Studio Gradle使用笔记
[张武]
Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具。 —— 百度百科
Android Studio Gradle是android studio中用来进行自动化构建配置的,在Gradle中可以配置apk生成的版本、签名等。下面将就当前的学习,做一个说明。
- Android Studio Gradle使用笔记
- Android Studio Gradle 简介
- 一Gradle 根节点介绍
- 1android 节点
- 2dependencies 节点
- 二android 节点详细介绍
- 1配置sdk版本 和 buildTool版本
- 2AppID版本号等设置
- 3配置各种buildtype的签名设置
- 4配置app的buildTypereleasedebugdev
- 5配置生成APK的文件名和地址
- 6配置app的dex分包参数
- 三尾声
Android Studio Gradle 简介
Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具。 —— 百度百科
Android Studio Gradle是android studio中用来进行自动化构建配置的,在Gradle中可以配置apk生成的版本、签名等。下面将就当前的学习,做一个说明,建议在看这篇笔记之前,简单了解一下Gradle的语法。
一、Gradle 根节点介绍
apply plugin: 'com.android.application'android { ...}dependencies { ...}
1、android{ } 节点
- 配置sdk版本和buildTool版本
- 配置appId、版本号等基础设置
- 配置dex分包参数
- 配置签名信息
- 配置buildtype等
2、dependencies { } 节点
- 引入本地依赖库文件
compile fileTree(dir: 'libs', include: ['*.jar'])
- 引入依赖的本地mudale
compile project(path: ':PullToRefresh')
- 引入依赖的远程第三方库
//xutils3 compile 'org.xutils:xutils:3.3.32' //gson compile 'com.google.code.gson:gson:2.4' //glide compile 'com.github.bumptech.glide:glide:3.6.1' //eventbus compile 'de.greenrobot:eventbus:2.4.0' //multi dex compile 'com.android.support:multidex:1.0.1'
二、android{ } 节点详细介绍
1、配置sdk版本 和 buildTool版本
compileSdkVersion 21 buildToolsVersion "21.0.3"
2、AppID、版本号等设置
defaultConfig { applicationId "com.jeff" //appId唯一标识当前app minSdkVersion 9 //兼容的最低sdk版本 targetSdkVersion 24 //目标sdk versionCode 10 //版本号 versionName "1.1.0" //版本名 multiDexEnabled true //是否分包 }
3、配置各种buildtype的签名设置
//配置keystore签名 signingConfigs { release { //release版签名 storeFile file("zhangwu.jeff") storePassword "123456" keyAlias "zhangwu" keyPassword "123456" v2SigningEnabled false } debug{ //debug版签名 storeFile file("debug.jeff") storePassword "123456" keyAlias "zhangwu" keyPassword "123456" v2SigningEnabled false } }
4、配置app的buildType(release、debug、dev)
buildTypes { debug{ ...//测试环境 } dev{ ...//开发环境 } release{ ...//线上环境 }
这里设置不用的buildtype会在android studio中生成对应的编译选项,双击下图中的编译类型会生成对应的包
具体配置buildType,举例如下
dev{ //将资源文件string中的app_name 设置为 shareApp_dev resValue("string","app_name","shareApp_dev") //在DefaultConfig.java中新建String类型的SEVER_ADDRESS,值为localhost:8080/share buildConfigField"boolean","SEVER_ADDRESS","localhost:8080/share" //设置是否生成debug版的APK debuggable true //配置当前buildType的签名信息 signingConfig signingConfigs.release // minifyEnabled true //配置混淆文件 proguardFiles 'proguard.config' //是否zip对齐 zipAlignEnabled true //移除未使用的资源 shrinkResources true }
5、配置生成APK的文件名和地址
//修改生成的文件 applicationVariants.all{variant-> variant.outputs.each{output-> def formattedDate=new Date().format('yyyyMMdd') def fileName if(variant.buildType.name=="release"){ //输出apk名称改为ShareApp_10_20160305.apk fileName="ShareApp_${defaultConfig.versionCode}_${formattedDate}.apk" }else if(variant.buildType.name=="debug"){ //输出apk名称改为ShareApp_10_20160305_debug.apk fileName="ShareApp_${defaultConfig.versionCode}_${formattedDate}_debug.apk" }else if(variant.buildType.name=="dev"){ //输出apk名称改为ShareApp_10_20160305_dev.apk fileName="ShareApp_${defaultConfig.versionCode}_${formattedDate}_devg.apk" } //输出apk文件 output.outputFile = new File(output.outputFile.parent,fileName) //将apk复制到指定文件夹 copy{ from('build/outputs/apk') into('C:/apkOutput') include(fileName) } }
6、配置app的dex分包参数
dexOptions { javaMaxHeapSize "4g" //java虚拟机堆内存最大值设为4g,避免oom preDexLibraries = false //设置对第三方lib不做preDex处理 additionalParameters = //每个dex包方法数限制在4000以内 ['--multi-dex', '--set-max-idx-number=40000'] }
三、尾声
gradle相关还有很多需要学习的,先记录到此,以后学习再补充。
0 0
- Android Studio Gradle使用笔记
- Android studio 使用gradle 基础
- Android Studio离线使用gradle
- gradle以及android studio使用
- Android Gradle使用笔记
- [Android]-Android Studio 使用gradle 导出Jar
- Android studio使用之[gradle的使用]
- Android Studio使用笔记(1)使用android studio时避免每次启动都进行网络gradle sync的方法
- Android Studio使用Gradle多渠道自动打包
- android studio中使用gradle多渠道打包
- Android Studio中使用Gradle和AndroidAnnotations
- android studio 使用gradle混淆 文件
- Android Studio中使用Gradle打包
- Android Studio 使用 Gradle 打包 Jar
- Android Studio 使用 Gradle 打包 Jar
- Android Studio中Gradle使用详解
- Android Studio中Gradle使用详解
- Android Studio中Gradle使用详解
- myeclipse下搭建web服务器
- 2058: [Usaco2010 Nov]Cow Photographs
- 网易视频云:分布式视频处理集群中的作业调度
- JVM基础(6)——G1收集器及G1日志分析
- POJ 3278 Catch That Cow【BFS】
- Android Studio Gradle使用笔记
- 软键盘弹出底部布局在键盘之上
- 13.4 常见的时期类和Math类
- 34-1-1
- 001 startup
- 高光反射-逐像素光照(Blinn-Phong)
- ClickableSpan
- 如何在Eclipse中使用Android Studio里AAR格式的包&& Github上的第三方
- 国内外研究主页集合:计算机视觉-机器学习-模式识别