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

转载于:https://www.cnblogs.com/llguanli/p/6941291.html

Android studio第一次使用配置(三)gradle项目构建相关推荐

  1. Android Studio 使用教程(4)---gradle项目构建

    Android Studio 使用教程(四)之gradle项目构建 1.gradle的概念 2.gradle配置jar包,和libs文件夹导入jar包的区别 3.签名打包:     (1)Studio ...

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

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

  3. Android Studio 第一次新建Android Gradle项目超级慢的解决方案

    Android Studio 第一次新建Android Gradle项目超级慢的解决方案 参考文章: (1)Android Studio 第一次新建Android Gradle项目超级慢的解决方案 ( ...

  4. Android Studio的gradle项目构建

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

  5. android studio annotations,AndroidAnnotations在Android Studio中的配置

    AndroidAnnotations是一款功能很强大的注解框架,具体使用我就不介绍了,大家可以自行百度了解.在eclipse的配置也比较简单,但是在android studio中的配置好像 Andro ...

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

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

  7. Android Studio 插件开发详解三:翻译插件实战

    转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/78113868 本文出自[赵彦军的博客] 系列目录 Android Gradle使用 ...

  8. android studio 自动引用,Android Studio三方引用报错但是项目可以运行的解决方案

    Android Studio第一次启动的Fetching android sdk component information的问题 1)进入刚安装的Android Studio目录下的bin目录.找到 ...

  9. Android Studio 安装和配置genymotion模拟器过程中所遇到的问题

    Android Studio 到官网上安装相应的版本就可以了,没有什么问题. genymotion是需要在虚拟机的前提下才能使用的,在安装的时候会有带虚拟机的安装版本和不带虚拟机的安装版本,可自行选择 ...

最新文章

  1. Not injecting HSTS header since it did not match the requestMatcher HSTS设置问题解决
  2. Java BigDecimal常用方法
  3. php7降到5.6,如何在Fedora 25上从php 7降级到5.6
  4. Vuex源码学习(五)加工后的module
  5. 大学本科电子信息工程专业核心课程与主干课程
  6. TechEmpower 13轮测试中的ASP.NET Core性能测试
  7. 工作293:新的打印操作
  8. 新项目jenkis配置
  9. 11.8 Ext.util.Event.fire(): Attempting to fire “click“ event on destroyed 问题分析与解决
  10. Nexpose漏扫使用步骤
  11. 第六章 函数逼近-强化学习理论学习与代码实现(强化学习导论第二版)
  12. js 手机或者座机电话号码验证
  13. 设计算法判断单链表的全部 n 个字符是否中心对称
  14. c 循序结构程序设计
  15. MTK处理器手机 解锁Bootloader 教程
  16. 苹果ios按键精灵deb包旧版本1.3.8安装方法 --- 越狱通用版
  17. android 恢复出厂设置 代码,android恢复出厂设置以及系统升级流程
  18. Onvif再学习---MiniXml-介绍
  19. 【教你区分】TVS二极管和稳压二极管的不同
  20. Python深度学习13——Keras模型的可视化(神经网络结构图)

热门文章

  1. IDEA集成Docker插件实现一键自动打包部署微服务项目
  2. lisp协议instand_分享|Linux 上 10 个最好的 Markdown 编辑器
  3. Go 中切片索引与 Python 中列表索引的差异
  4. Redis 笔记(06)— set 类型(向集合添加元素、获取集合元素个数、判断集合中是否包含某个元素、删除给定元素、返回集合中所有元素、计算集合的交集、并集、差集)
  5. 建议使用更加安全的ast.literal_eval去替代eval
  6. 文化内涵和历史深度:PC
  7. Jieba分词原理与解析
  8. LeetCode中等题之特殊等价字符串组
  9. LeetCode简单题之位1的个数
  10. NVIDIA深度学习Tensor Core性能解析(下)