Android studio 利用gradle快速编译出apk

来源:互联网 发布:php redis缓存周期 编辑:程序博客网 时间:2024/05/21 09:27

现在大部分Android开发人员用的都是Android Studio在开发,这也是官方的支持方案,还在Eclipse的用户,建议趁早换过来吧,因为github上的项目基本上都是利用Android Studio开发的,为了能少重复发明轮子,我们都会去github上下载一些demo过来进行参考学习。如果,博主有着很好的分享的精神,那么我们下来的demo那应该是完整的,导入工程可以用,在工程包里面也会有相应apk可以直接装到手机里面看效果。但是呢,有时候我们下载的demo偏偏是会没有apk来看效果的。或者是不完整的demo,那么我就没办法了,只能去自己编译,而自己编译这个有时候由于gradle的版本和本地的不一致,这就又得去下载,所以显得比较繁琐。
其实完全不用那么繁琐,可以直接利用gradle来快速编译出apk。以下是一些步骤:

配置gradle的环境变量#####

这里以windows环境为例,linux的用户可以去找找其对应系统的配置环境变量的方法,基本上和java环境变量的配置是一致的。
gradle 环境变量的配置,很简单,就像配置jdk的环境变量一样。我们要找到在C:\Users\Administrator.gradle\wrapper\dists\gradle-2.4-all\6r4uqcc6ovnq6ac6s0txzcpc0\gradle-2.4/ 的根目录下 (因为我用的是gradle 2.4版本的,一般来说都是用最新的gradle 版本了)。然后将根目录的路径复制下来。
再右键 我的电脑 —》属性 —》左边有个:高级系统设置 —》高级 —》环境变量 —》系统变量 选项中 —》新建 –》变量名:GRADLE_HOME,变量值:你复制的gradle 最高版本的gradle 根目录 —》确定。
再在 系统变量 选项中 —》找到:path 系统路径 —》在变量值最后加入:%GRADLE_HOME%/bin (因为在bin文件夹下才有gradle.bat 可运行文件)—如果加入之前的系统路径最后没有“;”,要记得加入—-》确定。
在windows开始菜单中,输入cmd,打开dos桌面,输入:gradle -v,回车。
如果出现下面的结果,就大功告成了!这里以我本机的配置结果为例。这里写图片描述
找到要学习的demo后,我们首先肯定是要先看看效果符不符合我们学习工作的需要了。否则的话就是浪费时间了。如果demo中没有apk包,那我们有两种方式开生成一个apk:1)打开Android studio将demo导进去,2)利用gradle来编译生成;
对于第一种,是比较笨的方法,因为我们知道Android studio打开的速度还是挺慢挺卡的,说不定要等上半天时间。所以我们要使用第二种简便点的方式。

Gradle是一种依赖管理工具,基于Groovy语言,面向Java应用为主,它抛弃了基于XML的各种繁琐配置,取而代之的是一种基于Groovy的内部领域特定(DSL)语言。
那么gradle有什么用呢?
功能:
1、对多工程的构建支持很出色,工程依赖是gradle的第一公民。
2、支持局部构建。
3、支持多方式依赖管理:包括从maven远程仓库、nexus私服、ivy仓库以及本地文件系统的jars或者dirs
4、是第一个构建集成工具(the first build integration tool),与ant、maven、ivy有良好的相容相关性。
5、轻松迁移:gradle适用于任何结构的工程(Gradle can adapt to any structure you have.)。你可以在同一个开发平台平行构建原工程和gradle工程。通常要求写相关测试,以保证开发的插件的相似性,这种迁移可以减少破坏性,尽可能的可靠。这也是重构的最佳实践。
6、的整体设计是以作为一种语言为导向的,而非成为一个严格死板的框架。
7、免费开源

说白了,gradle就是Android程序的一个依赖包,没有它我们的项目就搭建不起来。
在我们下好的demo中,如果demo是用Android studio来构建的,那么它的apk放在 demo根目录/app/build/outputs/apk/ 的目下,我们可以看到有一个debug和unsigned的apk版本。如果是Eclipse来构建的项目,则其apk文件在 demo根目录/bin/ 文件夹下就可以看到了。
如果outputs/下没有apk文件,所以我们要重新编译一个出来,具体的做法是:
在项目的根目录下,我们可以看到一个gradlew.bat 的文件,这个就是我们要执行的文件程序。
图片:这里写图片描述

1、在–首次–调用gradle时,(注:不是首次使用,直接跳到步骤3)我们在demo根目录下的windows窗体中,输入cmd,回车,打开dos界面。然后输入: gradle -v 命令,回车。这一步骤主要是检查项目所用到的gradle的版本。
但是有一个问题,如果gradle的版本不对,那么他就要在线的下载。这个过程是比较慢的,因为它要到官网上去下载,你懂的。期间它会一直的用“…”来走。这个不用担心。


2、然后找到demo的文件位置,(Ps:dos 命令下,输入 d: 表示打开d盘。输入 cd .. 是返回上一个文件目录)然后利用cd:xxx 命令打开项目,这个时候的项目结构下有gradlew.bat和gradlew文件的,然后我们键入:gradle clean 命令。此命令的主要作用是去下载一些gradle的下载包。成功的截图如下:
这里写图片描述
它会有一个BUILD SUCCESSFUL 的成功标志。下面是执行命令的用时长。


3、最后我们键入:gradle build 命令,回车。然后就等着命令执行,这个过程要用到一到两分钟的时间。运行截图:
这里写图片描述

如果完成了,它也会有BUILD SUCCESSFUL 成功的标志。如下图:
这里写图片描述

最后,我们就到上面说到的apk存放的文件夹下去找,项目根目录/app/build/outputs/apk/ 文件夹下。这是我们可以看到outputs文件夹下的apk文件了。

注意:上面默认编译的是app这个module,假如你的项目下有多module,你想gradle编译其他的module,那么步骤就得稍作修改了,先在project结构下去进行gradle clean操作,等这个完成后,然后切换到你要编译apk的module,再进行gradle build 命名就可以了。



参考文章:
Android studio 利用gradle快速编译出apk