文档章节

android studio gradle 配置修改

习惯_搬砖
 习惯_搬砖
发布于 2014/12/10 11:11
字数 723
阅读 19493
收藏 43
点赞 0
评论 1

    经过2年时间的研发,Google终于在近日正式发布了面向Android开发者的集成开发环境Android Studio 1.0(稳定版)。

未来计划

从Google的路线图可以看出,Android Studio未来会有3项改进:

1) 原生SDK管理器
    2) 改进对重构支持
    3) 改进对Gradle的支持

此外,Google还打算进一步改进应用测试功能,并为游戏开发提供更好的支持。

值得注意的是,Android Studio也采取了与Chrome类似的版本发布模式,即每次版本发布都会依次推出Canary(金丝雀版)、Dev(开发先去者版)、Beta(测试版)和Stable(稳定版)这几个版本。如果开发者想要尝鲜,可以到Canary一探究竟,如果想用靠谱的功能,那就去稳定版。

当然,作为1.0版本,在功能和稳定性等方面Android Studio与微软的Visual Studio上仍不可同日而语,而且后者最近也开始支持 Android 和 iOS 编程并自带Android模拟器。但是Google号召Android开发者使用Android Studio应该不需要多费口舌:因为这是官方Android IDE。

apk瘦身一般有两条线,

  1. 去除无用的代码,例如引用一个比较大的lib,只使用了其中很少的功能。其他无用的代码可以想办法去掉

  2. 去除无用的资源文件,可能是第三方lib中的,也有可能是开发中引入了无用的资源

去除无用代码

当然是Proguard了!

gradle plug 0.14.0之后, runProguard 更名为minifyEnabled

去除无用资源

Android Gradle plug从0.14.0开始,支持自动去除没有使用的资源。

不过,这个开关是默认关闭的。可以在build type使用 shrinkResources true 开启。 要注意,这个功能的使用依赖于code shrinking, 所以minifyEnabled也必须打开。

  1. Support for automatic removal of unused resources

  2. Off by default for now, enable by setting shrinkResources to true in your release build types. Requires minifyEnabled as well.

具体配置如下

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

多渠道打包修改如下

productFlavors {
        demo {
            applicationId "com.buildsystemexample.app.demo"
            versionName "1.0-demo"
        }
        full {
            applicationId "com.buildsystemexample.app.full"
            versionName "1.0-full"
        }
    }

替换渠道名修改如下

/**
 * 替换AndroidManifest.xml的UMENG_CHANNEL_VALUE字符串为渠道名称格式
 * <meta-data
 *    android:name="UMENG_CHANNEL"
 *    android:value="${UMENG_CHANNEL_VALUE}" />  
 */
productFlavors.all { flavor ->
    flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
}

编译完成后可以用命令行进行打包配置,进入到当前工程的根目录下执行gradlew assembleRelease命令自动进行多渠道打包。还有一个类似的命令:gradlew assembleDebug想必通过名字,就能到猜测出。

Eclipse gradle配置批量打包

       另外,Eclipse也可以用gradle进行批量打包,gradle配置一个样,需要的是在local.properties里配置配置一下SDK路径。

gradle基础可以参考:http://my.oschina.net/u/1471093/blog/341990


在此添加,最新grad了配置地址为http://my.oschina.net/u/1471093/blog/539075

© 著作权归作者所有

共有 人打赏支持
习惯_搬砖
粉丝 7
博文 40
码字总数 17097
作品 0
朝阳
加载中

评论(1)

Jay__qiu
Jay__qiu
79 现在真正学生android studio 很有用 ,
Gradle/Studio构建问题(Ant/Gradle)

> 使用Gradle遇到的问题及其他: Android Studio安装过程常见问题图解-- http://jingyan.baidu.com/article/fd8044fad5bdca5031137ab7.html 1. 将GitHub上的新项目导入Studio中 Pano360-mast......

shareus
05/11
0
0
关于Android Studio 和 Gradle的那些事儿

本文为刘小米作者原创,转载请注明出处,否则将依法追究版权 在进入正题之前,先拉个家常,本周进了一个很nice的团队,欣赏我们的Leader TutorChen,让项目开发变得有趣,乐于分享,并且耐心...

刘小米
2014/12/07
0
5
error:Could not find gradle

一.更新Android Studio后打开Project,报如下错误: Error: Could not find com.android.tools.build:gradle:2.2.1. Searched in the following locations: file:/D:/software/android/andro......

Yao--靠自己
06/21
0
0
Android Studio-1.2版本设置教程

这两天Google更新了Android Studio 1.2正式版,新版本的设置界面大变面,设置条目较旧版本进行了归类,不像以前那样列表长长的了。 趁着安装新版本的机会,把常用的设置记录一下,放到博客里...

____追梦人
2015/06/23
0
0
android studio problems

1 在android studio 下新建android project ,编译没有问题。 而导入已经存在的项目时,一直报错:Connection refused。 这个时候就要考虑是配置哪里跟自己android studio 本地的不一样,果然...

CamilleIT
06/29
0
0
读书笔记--Android Gradle权威指南(上)

最近看了一本书《Android Gradle 权威指南》,对于 Gradle 理解又更深了,但不想过段时间就又忘光了,所以打算写一篇读书笔记,将书中一些我个人觉得蛮有用的点记录、总结一下。 前言 首先,...

请叫我大苏
05/24
0
0
AndroidStudio gradle安装配置详解-透过现象看本质

背景 相信很多人第一次安装androidstudio跑工程时候,会遇到一个问题:android sutdio第一次打开一个工程巨慢怎么办? 或者是gradle project sync filded错误 有没有想过androidstudio是如何...

u010321471
05/27
0
0
使用gradle构建android项目(续)

在几个月之前,我已经写过一篇使用gradle构建android项目的博客了http://blog.isming.me/2014/05/20/android4gradle/,那篇文章已经介绍了如何使用gradle进行项目构建,以及为谷歌会推荐使用g...

码农明明
2014/11/21
0
12
Android Gradle和Gradle插件区别

一、引言 1、什么是Gradle?什么是Gradle插件? build.gradle中依赖的classpath 'com.android.tools.build:gradle:2.1.2'和gradle-wrapper.properties中的distributionUrl=https://services.gr......

AwesomeQA
2017/10/22
0
0
Android Studio 设置

1 :在Android Studio中添加assets目录 在指定的module上右键:new --> Foder --> Assets Folder即可 如图: 2: Android app 版本控制 在Android Studio中,项目的versionCode 和versionNa......

dj_归去来兮
2015/03/06
0
1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

rabbitmq学习记录(六)交换机Exchange-direct

实现功能:一条消息发送给多个消费者 交换机模式:direct 相比于之前的fanout模式,可以进一步的筛选获取消息的消费者。 fanout模式下,只要消费者监听的队列,已经与接收生产者消息的交换机...

人觉非常君
11分钟前
0
0
Java 之 枚举

Java 中声明的枚举类,均是 java.lang.Enum 类的子类,Enun 类中的常用方法有: name() 返回枚举对象名称 ordinal() 返回枚举对象下标 valueOf(Class enumType, String name) 转换枚举对象 ...

绝世武神
20分钟前
0
0
使用爬虫实现代理IP池之放弃篇

啥叫代理IP以及代理IP池 概念上的东西网上搜索一下就好了,这里简单科普一下(大部分会读这篇文章的人,基本是不需要我来科普的),白话说就是能联网并提供代理访问互联网的服务器,它提供的...

一别丶经年
36分钟前
0
0
sqoop导入数据到Base并同步hive与impala

使用Sqoop从MySQL导入数据到Hive和HBase 及近期感悟 基础环境 Sqool和Hive、HBase简介 Sqoop Hive HBase 测试Sqoop 使用Sqoop从MySQL导入数据到Hive 使用复杂SQL 调整Hive数据类型 不断更新 ...

hblt-j
今天
0
0
Dart 服务端开发 文件上传

clent端使用angular组件 upload_component.html form id="myForm" method="POST" enctype="multipart/form-data"> <input type="file" name="fileData"> <!-- file field --></form>......

scooplol
今天
0
0
apache和tomcat同时开启,乱码问题

tomcat和apache同时开启,会走apache的转发,执行的是AJP/1.3协议。所以在tomcat的配置文件server中, <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" useBodyEncodingForU......

Kefy
今天
0
0
使用ssh-keygen和ssh-copy-id三步实现SSH无密码登录 和ssh常用命令

ssh-keygen 产生公钥与私钥对. ssh-copy-id 将本机的公钥复制到远程机器的authorized_keys文件中,ssh-copy-id也能让你有到远程机器的home, ~./ssh , 和 ~/.ssh/authorized_keys的权利 第一步...

xtof
今天
0
0
orcale 查询表结构

SELECT t.table_name, t.colUMN_NAME, t.DATA_TYPE || '(' || t.DATA_LENGTH || ')', t1.COMMENTS FROM User_Tab_Cols t, User_Col_Comments t1WHERE t.table_name......

wertwang
今天
0
0
华为nova3超级慢动作酷玩抖音,没有办法我就是这么强大

华为nova3超级慢动作酷玩抖音,没有办法我就是这么强大!华为nova3超级慢动作酷玩抖音,没有办法我就是这么强大! 在华为最新发布的nova 3手机上,抖音通过华为himedia SDK集成了60fps、超级...

华为终端开放实验室
今天
0
0
多 SSH Key 实现同一台服务器部署多 Git 仓库

本文以以下需求为背景,介绍详细的做法: 需在同一台服务器同时部署两个不同的 Github 仓库(对 Bitbucket 等 git 服务同样适用) root 用户可在远程登录 SSH 后附上预期的 SSH Key 进行 gi...

yeahlife
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部