Gradle wrapper的介绍与使用

藤牵萝绕互依附,濡沫相润脂和膏。

由来

在使用Android Studio作为IDE开发Android的应用的时候,我们可以直接使用IDE集成的build工具对应用进行编译打包,也可以使用命令行的形式执行gradle命令来做同样的事情,也就是基于gradle来构建android应用的build系统。在需要用到gradle的时候,我们可以在我们的电脑上安装gradle,然后配置好环境变量后就可以使用了。但是当我们把项目分享给电脑上没有gradle的人时,问题就来了。或者我们在一个没有装gradle的server上build的时候也会出现同样的问题。

所以基于此,gradle系统引入了我们今天的主角-gralde wrapper: 一个gradle的封装体。有了gradle wrapper,即便你的机器上没有安装gradle,也可以执行gradle的构建工作了。

Read more »

Android APK扩展文件

Android APK扩展文件的上传与下载

扩展文件的由来

在上传Android APK到Google Play的时候,Google对APK的大小有限制-不能超过50M。但是对于一些应用或者游戏来说50M是远远不够的,比如应用需要附带很多多媒体文件,或者游戏中的地图资源文件等。那么,传统的解决方案是将这些大尺寸的资源文件放到自由的服务器上,当第一次启动应用的时候前往服务器下载这些资源。

针对这一情况,Google提供了一种更为方便的解决方案-APK扩展文件。也就是除了APK之外,开发者还可以为你的应用上传最多两个扩展文件,每个文件最大为2G。有了这4G的空间,相信几乎所有的应用都不会再有大小限制的烦恼。

Read more »

Android Studio Live Template

代码的复用在开发过程中为我们省却不少重复性的工作,从而提高开发效率。目前大部分的IDE都支持了code snippet,Android studio也不例外,今天我们就一起来看看Android studio中Live template(Android studio将code snippet称为live template)的创建与使用。

Read more »

Android SAF介绍以及SD Card的访问实例

背景

上一篇文章The Evolution of Android Storage中提到了Android在Kitkat上剥夺了第三方应用程序对SD Card的写权限,使得一大批的应用程序不能够再使用外置的SD Card,此举招来了骂声一片,很快就有人给Android提了一个Bug,要求重新允许第三方应用获得SD Card的写权限,并且最终有1682个人关注了这一Bug。迫于压力,Google终于在Lollipop上Android又打开了一扇通往SD Card的大门:

Read more »

过年了

明天就是除夕了,准确的讲,现在已经是国内的除夕了,同学朋友们都已经开始陆陆续续的在微博、微信朋友圈里拜年晒照片了。对于我而言,从大学毕业起就从来没有这么对过年拧巴过:没盼望着过年,却又无时无刻不在惦记着。一整天状态都很不好,坐在会议室里和同事一起做着软件release前的最后的debug,明明一个极其简单的需求竟然好长时间也不能理解,仿佛一直有络绎不绝的鞭炮声在耳边环绕让我如法专注…

Read more »

The Evolution of Android Storage

引子

长久以来,开发者对Android平台的存储系统一直都很困惑。什么是内部存储?什么是外部存储?二者有何区别,又各自如何使用?在StackOverflow上,你会发现有不计其数的相关问题。更要命的是,Android 4.4(Kitkat, API level 19)发布以后,很多开发者和用户都注意到了一个很重大的改动: 外置存储卡貌似不能用了!根据最新的Android变动,非系统应用已经不能再自由的向外置存储卡写入数据。这一改动使得本就令人困惑的的Android storage系统变得更加的凌乱不堪。本文将和你一起对android的存储做一番梳理,希望在读过这篇文章后,能让你对Android的存储有一个清晰的认识。

Read more »