Android开发笔记之gradle的buildTypes内部配置
来源:互联网 发布:手机淘宝2015旧版5.7.2 编辑:程序博客网 时间:2024/05/20 13:04
Android gradle的buildTypes内部配置
buildTypes { debug { // 服务器配置 buildConfigField "String", "SERVERHEAD", "\"http://110.11.11.00/miaomiao/\"" //是否混淆 minifyEnabled false zipAlignEnabled true shrinkResources false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' signingConfig signingConfigs.debug } release { // 正式服务器 buildConfigField "String", "SERVERHEAD", "\"http://miaomiao.com/miaomiao/\"" //混淆 minifyEnabled true zipAlignEnabled true//内存对齐 // 移除无用的resource文件 shrinkResources true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' //签名 signingConfig signingConfigs.release } }
配置属性说明:
minifyEnabled:
- debug与release的默认值都为false,如果需要混淆需要手动配置为true;
- 混淆文件在proguardFiles后面配置,默认为app目录下的 “proguard-rules.pro”
shrinkResources:
- 配置true,移除无用的resource文件,可以减小apk包的大小,有瘦身效果;
- Tor Norbye在Google+上还透露了Android Gradle插件清除无用资源的效果:在构建时,自动移除无用资源的功能能够大幅度减小APK文件的大小(最高可减小34%);当前能够移除的无用资源包括图片、布局、菜单等资源文件,但不包括value资源文件。
zipAlignEnabled:
- 是否对齐app所有资源,对齐后,会使得在运行时Android与应用程序间的交互更加有效率;
- 配置此属性必须要有足够的信息签名程序包,Ant才会执行对齐操作,因为对齐处理发生在签名之后。为了能够签名程序包,进而执行对齐操作,Ant必须知道keystore的位置以及build.properties中key的名字。相应的属性名为key.store和key.alias。如果这些属性为空,签名工具会在编译过程中提示输入store/key的密码,然后脚本会执行签名及apk文件的对齐。如果这些属性都没有,Release程序包不会进行签名,自然也就不会进行对齐了。
可以直接在android{}内配置签名信息,代码如下:
signingConfigs { debug { //miaomiao_keystore.jks文件最好放在项目app目录下 storeFile file("miaomiao_keystore.jks") storePassword "123456" keyAlias "miaomiao" keyPassword "123456" } release { //miaomiao_keystore.jks文件最好放在项目app目录下 storeFile file("miaomiao_keystore.jks") storePassword "123456" keyAlias "miaomiao" keyPassword "123456" } }
buildConfigField
字段参数配置,android的gradle会根据buildTypes的配置自动生成BuildConfig.java文件,直接在项目接口配置的java文件内通过类名调用获取,可以避免每次调试与正式打包时容易忘记切换服务器的问题,省去出错麻烦.
//服务器头字段public static final String SERVER_HEADER = BuildConfig.SERVERHEAD;
以下一般为默认属性即可:
debuggable: debug模式默认为true, release模式默认是false
jniDebuggable: debug模式与release模式默认都是false
renderscriptDebuggable: debug模式与release模式默认都是false
0 0
- Android开发笔记之gradle的buildTypes内部配置
- Android开发中Gradle的高级用法---productflavors, buildTypes
- Android-->build.gradle-->buildTypes
- Android Studio设置自动打包环境-Gradle buildTypes配置
- Android gradle 创建自定义BuildTypes
- 解决 AndroidStudio 中 gradle 的 buildTypes 配置不生效问题
- gradle buildTypes
- Android Studio配置Gradle(包括signingConfigs、buildTypes和productFlavors等)
- Android Studio配置Gradle(包括signingConfigs、buildTypes和productFlavors等)
- Android Studio配置Gradle(包括signingConfigs、buildTypes和productFlavors等)
- Android Studio配置Gradle(包括signingConfigs、buildTypes和productFlavors等)
- build.gradle 中 buildTypes中配置打包环境
- Android开发之Gradle笔记整理1
- Android开发之Gradle笔记整理1
- Android开发之Gradle笔记整理2
- Android开发常用的gradle配置总结
- Gradle之android配置
- 使用Android Studo开发NDK之Gradle的配置(能debug C代码)
- sqlserver索引优化
- reentrantlock 和 synchronized 区别
- 华为云桌面FUSION ACCESS输入用户名和密码后连不上桌面的解决办法
- 什么是冷备份和热备份,有什么区别?
- 廖雪峰python教程阅读之字符串和编码
- Android开发笔记之gradle的buildTypes内部配置
- Android Volley网络请求框架
- 关于上转型对象与强制转换
- html5初入门第一堂
- SSL常见加密算法
- jquery DOM内部插入append()与appendTo()
- 工作中Django总结之一(项目)
- DP两道关于递增非递增的题目
- SQL语句AND&OR