已经使用Android Studio进行开发超过一年,随着项目的增大,依赖库的增多,构建速度越来越慢,现在最慢要6分钟才能build一个release的安装包,在网上查找资料,发现可以通过一些配置可以加快速度,这里跟大家分享一下。
开启gradle单独的守护进程
在下面的目录下面创建gradle.properties文件:
/home//.gradle/ (Linux)
/Users//.gradle/ (Mac)
C:\Users\\.gradle (Windows)
并在文件中增加:
groovy
org.gradle.daemon=true
同时修改项目下的gradle.properties文件
继续阅读 »
- Gradle是什么?
Gradle是一个集合了Maven和Ant优点的构建工具,据说要取代Maven,不置可否。
- 什么是projects和tasks?
每一个构建都是由一个或多个projects构成的。一个project到底代表什么取决于你想用Gradle做什么。每一个project是由一个或多个tasks构成的,一个task代表一些更加细化的构建。可能是编译一些classes,创建一个JAR,生成javadoc或者生成某个目录的压缩文件。
- 经常用的gradle -q,其中-q是干什么的?
-q代表quiet模式,它不会生成Gradle的日志信息(log messages),所以用户只能看到tasks的输出,它使得输
继续阅读 »
在几个月之前,我已经写过一篇使用gradle构建android项目的博客了http://blog.isming.me/2014/05/20/android4gradle/,那篇文章已经介绍了如何使用gradle进行项目构建,以及为谷歌会推荐使用gradle。当时android的gradle插件是0.11.0,现在插件的版本已经是0.14.3了,对于一些老的方法和api,有一些已经被移除,无法使用。因此有必要再写一篇博客介绍这些被移除的部分和替代方案。同时由于个人学识原因,当时没有介绍的一些技巧,其他功能,也会在本文中进行介绍。
more
和上一篇文章相比不兼容的地方
没有看过我另一篇文章的,建议去看一下。
以下这些属性改名
继续阅读 »
新项目中,使用了Google I/O 2013发布的新工具,使用Gradle构建android项目,并且在新版的Intellig IDEA以及google的Android Studio对其支持。本文就介绍一下怎么使用gradle构建android项目,进行多个版本编译。
Gradle是什么?
Gradle是以Groovy为基础,面向java应用,基于DSL语法的自动化构建工具。是google引入,替换ant和maven的新工具,其依赖兼容maven和ivy。
使用gradle的目的:
更容易重用资源和代码;
可以更容易创建不同的版本的程序,多个类型的apk包;
更容易配置,扩展;
更好的IDE
继续阅读 »
声明,这不是广告,没有任何利益瓜葛。
App内测需要把安装把安装包放在一个地方进行托管,方便内测人员下载。国内有蒲公英,fir,等等这些网站可以用。
最近fir上了新版本了,上了新的api,新界面,本以为它们会提供gradle的上传工具,结果没有,而且它们新版本还不好用,原本的下载统计浏览统计都没有了,结果上传很慢,甚至上传不了,我便写了一个gradle的上传工具。
more
先介绍使用方法吧
使用方法
插件目前只有唯一一个task
uploadFir --上传apk到fir
集成插件本插件,你要按照如下方法使用
编辑build.gradle
```groovy
buildscript {
repositor
继续阅读 »
Android兼容库从24.2.0开始,对support-v4做了分库处理,原有的support-v4库拆分成为了support-compat、support-core-ui、support-fragment等库,本着稳定的原则,一直到25.0.0才开始在项目中升级support-v4库,将原有的support-v4替换为support-core-ui(其实,项目中只用到了ViewPager,SwipeRefreshLayout而已)以减少apk体积。然而问题来了,编译时出错,提示存在重复的类库。为保证support库版本一致,我还统一定义并使用了各模块的support版本变量,使用gradle dependencies查看依赖的时
继续阅读 »
这几天搞Scratch源代码的编译,遇到不少坑,特此记录一下。
more
准备工具
官方提供了两种编译方式:Ant和Gradle,我是使用Gradle编译的,需要准备的工具如下:
- Java JDK,用于执行gradle
- Gradle,用于编译
- Git,用于下载源代码,同时gradle脚本中也会用到git命令(可注释掉不用)
继续阅读 »
Maven预设变量
使用过Maven的人应该都知道,我们在Maven项目中添加依赖的一般性做法。就是打开pom.xml文件,在节点下添加
xml
org.apache.lucene
lucene-core
5.5.0
包含坐标和版本号的内容,那么在Java类文件中,就可以引用Lucene包中的各种类了。但是要注意一点,这里面的版本号是以硬编码的形式存在,作为一个合格的软件开发者,要尽量在你的代码中避免硬编码的情况。为什么呢?比如我需要依赖其它的Lucene模块,那么pom.xml中添加内容如下:
xml
org.apache.lucene
lucene-analyzers-commo
继续阅读 »
构建是软件生命周期中重要的一环,在现代软件开发过程中,起着越来越重要的作用。
Ant 和 Maven 越来越不够用了, Gradle 是一个比较完美的替代品。
more
Ant
现在我们用的构建工具主要是 Maven,其实在 Maven 之前还有一种东东,叫 Ant。
继续阅读 »
12行配置从Android Studio + Gradle构建体系迁移到facebook的BUCK构建体系,且保持两者同时兼容使用,编码使用AS,享受安卓最强大IDE的功能,打包、安装、测试用BUCK,享受安卓最快构建系统的畅快淋漓,两者互不干扰。从此妈妈再也不用担心我在编译安卓工程时睡着了,而且真的只要12行!
继续阅读 »