文档章节

android studio gradle 配置修改

习惯_搬砖
 习惯_搬砖
发布于 2014/12/10 11:11
字数 723
阅读 19630
收藏 43

    经过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
2018/05/11
0
0
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--靠自己
2018/06/21
59
0
关于Android Studio 和 Gradle的那些事儿

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

刘小米_思聪
2014/12/07
61.1K
5
Gradle和Gradle插件

文章是翻译整理的官网文档developer.android/studio/build/ 一、Gradle和Gradle插件 Gradle:Gradle是一款帮助开发人员更快更好的编译、自动化运行和分发软件的工具。Gradle具有无与伦比的通...

都有米
2018/06/19
0
0
Android Studio-1.2版本设置教程

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

____追梦人
2015/06/23
343
0

没有更多内容

加载失败,请刷新页面

加载更多

CSS中实现图片垂直居中

在曾经的 淘宝UED 招聘 中有这样一道题目: “使用纯CSS实现未知尺寸的图片(但高宽都小于200px)在200px的正方形容器中水平和垂直居中。” 当然出题并不是随意,而是有其现实的原因,垂直居中...

前端老手
50分钟前
4
0
vue学习笔记5:vue富文本编辑器ueditor的组件封装及问题

做一个后台,离不开文本编辑器,百度的ueditor经常用,这次改用vue写后台,需要再次集成一下,遇到很多问题,搞了一下午,整理一下,希望能够帮到后来者。 目标: 希望封装的ueditor组件,尽...

Jack088
今天
5
0
MFC多线程编程之四——线程的同步

八、线程的同步 虽然多线程能给我们带来好处,但是也有不少问题需要解决。例如,对于像磁盘驱动器这样独占性系统资源,由于线程可以执行进程的任何代码段,且线程的运行是由系统调度自动完成...

rainbowcode
今天
3
0
QWIDGET、QMAINWINDOW、QFRAME、QWINDOW、QDIALOG、QSCROLLAREA区别

QWindow一般不用 QDialog对话框而已 QScrollArea有滚动条的窗口。 from PyQt5.QtWidgets import (QWidget,QListWidget,QLabel,QApplication,QScrollArea,QFrame,QAction,QVBoxLayout,QLis......

shzwork
今天
3
0
CRM、DMP、CDP都是什么?有什么区别?

Markter对CRM系统(Customer Relationship Management System,客户关系管理系统),营销自动化等概念都已经比较熟悉,也许DMP(Data Management Platform,数据管理平台)也多多少少有些了解。...

怡海软件-CRM
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部