1、gradle的概念

2、gradle配置jar包。和libs目录导入jar包的差别

3、签名打包:

(1)Studio

(2)命令行

(3)gradle wrapper的原理

4、BuildConfig的使用

5、简介module中build.gradle文件參数含义

一、gradle的概念:

  • gradle是一个构建工具
  • gradle是以Groovy语言为基础的
  • gradle主要面向的是Java语言

打开Android Studio内置的终端,在输入例如以下命令查看gradle版本号:

gradlew -v

假设是第一次执行这个命令,系统会帮我们下载gradle到本地,下载到的路径是:

输入上述命令后,查看到gradle的版本号2.2.1,例如以下图所看到的:

二、通过gradle来导入jar包:

我们在上一篇文章中第二段的第3小节中讲到了通过复制文件到libs目录来导入jar包。这次来讲一下怎么通过gradle来配置jar包。我们还是以谷歌的gjson.jar为例,假设之前已经通过复制文件方式倒入过了。请先自行删掉。

1、通过gradle配置第三方jar包

我们看到,每一个module都有一个build.gradle文件,它事实上是相应module的配置文件。关于build.gradle文件里详细内容的含义,我们将在最后一段进行解说。

我们先来看一下名为app的这个module,它的build.gradle相应的图形界面事实上是以下这个Project Stucture:

上图中。切换到dependencies标签下,例如以下图所看到的:

上图中。点击加入。然后选择"Library dependency"。弹出例如以下界面:

上图中,我们在搜索框中输入“gson”,然后确定。就弹出了箭头处的我们须要的jar包。加入它就可以:

之后我们会发现。app这个module的build.gradle中多了一行代码,表示引入了gson.jar:

事实上。假设你能记得住上方这行代码,直接写出代码来也是能够导入的。

此时,gson这个jar包不再是出如今libs这个目录下了,而是出如今最下方的External Libraries中,例如以下图所看到的:(并且是最新版本号哦)

2、gradle导入jar包的特点:(和libs目录导入jar包的差别)

  • gradle导入jar包更方便,一行代码即可搞定。不像后者那样还要自己去官方下载。
  • 假设官方将jar包更新了,我们仅仅须要在build.gradle中改一下版本即可了,不用又一次去官网下载。

3、通过gradle导入的jar包是从哪里来的:

须要注意的是:不是全部的jar包都是能够通过gradle来导入的。

那通过gradle导入的jar包是从哪里来的呢?解释例如以下:

我们发现HelloWorld这个project的文件夹下有一个build.gradle文件,打开它:

上图中第17行的"jcenter()"的意思是,全部通过gradle导入的jar包都是从http://bintray.com/bintray/jcenter这个中央仓库上扒下来的。假设你须要的jar包在这个站点上没有。那就无法通过gradle的方式来导入哦。

顺便提一下,上图中第8行的classpath中的gradle 1.1.0是android的一个gradle插件(也是从中央仓库扒下来的)。

而我们自己使用的gradle版本号例如以下图所看到的:

我们自己下载好的gradle的路径例如以下:

三、签名打包的两种方式:

注:给我们自己开发的app签名,就代表着我自己的版权,以后要进行升级。也必需要使用同样的签名才行。签名就代表着自己的身份(即keystore),多个app能够使用同一个签名。

假设不知道签名是啥意思,请自行百度哦。在eclipse中签名的方法是:选中project,邮件选择"export-android-export android application",

1、方式1:通过Android Studio进行签名:

选中app这个module,选择菜单条"Build-Generate signed apk":

弹出例如以下界面:

上图中。假设你是第一次使用签名,就单击红框部分创建一个新的签名;假设你之前有过签名的文件,就选择蓝框部分进行导入就可以。那我就先选择红框部分吧:

上图中,点击"finish"之后,能够看到Android Studio的最下方显示:Gradle正在运行assembleRelease这样一个任务,例如以下图所看到的:

生成签名好的apk之后,会弹出提示:

2、方式2:通过命令行的方式进行签名:

(1)载入Key Store:

我们先删掉上面的通过第一种方式所签名的apk文件。接下来进行另外一种方式来签名,即命令行的方式。

打开Project Stucture图形化界面:

上图中。选中app这个module,然后切换到singning标签栏。紧接着点击加入。然后生成release签名信息。紧接着点击"OK"。接着做例如以下操作:

上图中,切换到Build Types标签,将Signing config选择为"release"。即将刚刚生成的release签名信息配置进去。

操作完毕之后,我们能够看到app这个module的build.gradle文件多出了例如以下红框部分的代码:

然后运行菜单条的"build-clean Project":

(2)生成realease版本号的apk:

紧接着在命令行Terminal输入例如以下命令:(AS已经将命令行Terminal集成到了软件其中)

gradlew assembleRelease

假设执行成功,效果例如以下:

生成的签名好的apk在例如以下位置:

3、为什么要使用gradlew命令而不是gradle命令:

在HelloWorldproject文件夹下有一个gradle文件夹,在gradle/wrapper文件夹下有一个gradle-wrapper.properties文件,打开它:

上图代表着HelloWorld这个project所依赖的gradle的版本号信息。上图的红线表示。假设我们的project中没有gradle,软件会依据这个url去下载gradle。最终知道为啥第一次打开AS时会这么慢了吧?

假设我们运行了gradlew命令,实际上是运行上面的gradle wrapper。然后找到我们已经下载好的gradle 2.2.1。假设如今有非常多个project,可是每一个project的gradle版本号都不一样,我就必需要将每一个版本号的gradle都要配置到环境变量其中,而运行了gradlew命令,就会避免这个麻烦。

四、BuildConfig文件:

BuildConfig是IDE自己主动生成的一个类。在elipse中即存放在gen文件夹下(如R文件)。而在Adroid Studio中,BuildConfig文件存放的位置是:app/build/generated/source/buildconfig/dubug/<packagename>/BuildConfig.java中。

例如以下图所看到的:

五、module中build.gradle文件參数含义:

主要是module的build.gradle,截图例如以下:

01行:apply plugin: 'com.android.application'    表示该module是这个应用程序的module

15行:applicationId "com.smyhvae.helloworld"    应用程序的包名

16、17行:向下兼容的最小版本号、编译版本号。    注:在app/src/main/AndroidManifest.xml中不再出现这个信息了。

23行:需不须要利用24行的proguard文件来混淆代码。

在release状态下。最好改为true。

图文来源:http://www.cnblogs.com/smyhvae/p/4456420.html

Android studio第一次使用配置(三)gradle项目构建的更多相关文章

  1. Android Studio 第一次启动配置

    第一次启动AS前,为了避免重新下载新版本的SDK 操作如下: AS启动前,请先将bin目录的idea.properties文件中增加一行:disable.android.first.run=true ...

  2. 第一次使用Android Studio时你应该知道的一切配置(三):gradle项目构建

    ​[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...

  3. 【转】第一次使用Android Studio时你应该知道的一切配置(三):gradle项目构建

    原文网址:http://www.cnblogs.com/smyhvae/p/4456420.html [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.c ...

  4. [转]第一次使用Android Studio时你应该知道的一切配置(三):gradle项目构建

    目录: 1.gradle的概念 2.gradle配置jar包,和libs文件夹导入jar包的区别 3.签名打包: (1)Studio (2)命令行 (3)gradle wrapper的原理 4.Bui ...

  5. Android Studio 入门级教程(三):gradle项目构建

    声明 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4456420.html [系列] Andr ...

  6. android studio 开发环境配置

    android studio 开发环境配置 参考: 第一次使用Android Studio时你应该知道的一切配置 https://www.cnblogs.com/qianguyihao/p/43909 ...

  7. 【转载】Android Studio jar、so、library项目依赖,原文链接http://zhengxiaopeng.com/2014/12/13/Android-Studio-jar、so、library项目依赖/

    前言 Android Studio(以下简称AS)在13年I/O大会后放出预览版到现在放出的正式版1.0(PS.今天又更新到1.0.1了)历时一年多了,虽然Google官方推出的Android开发者的 ...

  8. Android Studio开发环境配置(win7)

    由于近期,google网站封锁,导致eclipse配置android环境时,无法在线更新API和配置ADT.个人尝试之后,发现很多地方配置因为版本不合适而配置不成功,(ps:当然你FQ,或者下载到对应 ...

  9. Android Studio安装、配置、第一个程序的那些坑

    最近在上Android课,老师布置了量大题难的作业,然而出师未捷身先死,还没看题目,就被Android Studio的安装和环境配置搞得要死要死的,网上的教程也多也杂,良莠不齐,在经历了5小时通过的搜 ...

随机推荐

  1. linux对比两个文件的差异

    在项目维护阶段,经常会对垃圾文件进行清理.比如没有在数据库中的文件进行删除,这个时候最好的选择就是使用shell命令了:废话不多说直接上代码: 1.首先准备好从数据表导出来的数据,方法随意 2.在服务 ...

  2. oracle数据库忘记用户名和密码莫着急

    刚安装完Oracle 11g后,登录的时候没有记住用户名和密码,解决方法:新建一个用户 第一步:以系统身份登录 cmd--->sqlplus 提示输入用户名,然后输入sqlplus/as sys ...

  3. P1538 迎春舞会之数字舞蹈

    题目背景 HNSDFZ的同学们为了庆祝春节,准备排练一场舞会. 题目描述 在越来越讲究合作的时代,人们注意的更多的不是个人物的舞姿,而是集体的排列. 为了配合每年的倒计时,同学们决定排出——“数字舞蹈 ...

  4. js基础---object对象

    //**********************************复杂JSON举例**************************************** var Jsondata={d ...

  5. fieldset ----- 不常用的HTML标签

    fieldset 元素可将表单内的相关元素分组. <fieldset> 标签将表单内容的一部分打包,生成一组相关表单的字段. 当一组表单元素放到 <fieldset> 标签内时 ...

  6. Android 获取android安装apk框的安装状态(如点击取消、返回)

    最近鼓捣android,碰到个问题,因为没有root权限,需要调用Intent安装apk,但需要获取用户是否安装了(如,用户点击了返回或取消),查了很多文章,最后可以解决,但有瑕疵,解决方法如下: p ...

  7. Linux 一些小知识点汇总(持续更新....)

    一.符号 1.$@:传递的参数. 2.$# :传递参数的数量. 3.$?:指上一次执行命令后的返回值.一般0表示运行成功. 补充:$?只表示上一个命令执行后的退出状态,当命令执行后,又执行了其他命令, ...

  8. ubuntu下sudo命令不能使用问题

    不知道从什么时候开始,ctrl+alt+F1进入命令行之后,登录成功.使用sudo命令,不能使用....被坑了很久. 解决方法: 出现 [sudo ] username !!! 之后,在输入一遍 密码 ...

  9. /etc目录常用配置文件

    /etc/resolv.conf DNS客户端配置文件,逐渐被网卡配置文件所替代 /etc/hosts 本机DNS解析文件,优先级高于DNS服务器 /etc/hostname CentOS 7 主机名 ...

  10. uva253 Cube painting(UVA - 253)

    题目大意 输入有三种颜色判断两个骰子是否相同 思路(借鉴) ①先用string输入那12个字符,然后for出两个骰子各自的字符串 ②这里用的算法是先找出第一个的三个面与第二个的六个面去比较,如果找到相 ...