Android studio第一次使用配置(三)gradle项目构建
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项目构建相关推荐
- Android Studio 使用教程(4)---gradle项目构建
Android Studio 使用教程(四)之gradle项目构建 1.gradle的概念 2.gradle配置jar包,和libs文件夹导入jar包的区别 3.签名打包: (1)Studio ...
- 第一次使用Android Studio时你应该知道的一切配置(三):gradle项目构建
目录: 1.gradle的概念 2.gradle配置jar包,和libs文件夹导入jar包的区别 3.签名打包: (1)Studio (2)命令行 (3)gradle wrapper的原理 4.Bui ...
- Android Studio 第一次新建Android Gradle项目超级慢的解决方案
Android Studio 第一次新建Android Gradle项目超级慢的解决方案 参考文章: (1)Android Studio 第一次新建Android Gradle项目超级慢的解决方案 ( ...
- Android Studio的gradle项目构建
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- android studio annotations,AndroidAnnotations在Android Studio中的配置
AndroidAnnotations是一款功能很强大的注解框架,具体使用我就不介绍了,大家可以自行百度了解.在eclipse的配置也比较简单,但是在android studio中的配置好像 Andro ...
- Android Studio开发环境配置(win7)
由于近期,google网站封锁,导致eclipse配置android环境时,无法在线更新API和配置ADT.个人尝试之后,发现很多地方配置因为版本不合适而配置不成功,(ps:当然你FQ,或者下载到对应 ...
- Android Studio 插件开发详解三:翻译插件实战
转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/78113868 本文出自[赵彦军的博客] 系列目录 Android Gradle使用 ...
- android studio 自动引用,Android Studio三方引用报错但是项目可以运行的解决方案
Android Studio第一次启动的Fetching android sdk component information的问题 1)进入刚安装的Android Studio目录下的bin目录.找到 ...
- Android Studio 安装和配置genymotion模拟器过程中所遇到的问题
Android Studio 到官网上安装相应的版本就可以了,没有什么问题. genymotion是需要在虚拟机的前提下才能使用的,在安装的时候会有带虚拟机的安装版本和不带虚拟机的安装版本,可自行选择 ...
最新文章
- Not injecting HSTS header since it did not match the requestMatcher HSTS设置问题解决
- Java BigDecimal常用方法
- php7降到5.6,如何在Fedora 25上从php 7降级到5.6
- Vuex源码学习(五)加工后的module
- 大学本科电子信息工程专业核心课程与主干课程
- TechEmpower 13轮测试中的ASP.NET Core性能测试
- 工作293:新的打印操作
- 新项目jenkis配置
- 11.8 Ext.util.Event.fire(): Attempting to fire “click“ event on destroyed 问题分析与解决
- Nexpose漏扫使用步骤
- 第六章 函数逼近-强化学习理论学习与代码实现(强化学习导论第二版)
- js 手机或者座机电话号码验证
- 设计算法判断单链表的全部 n 个字符是否中心对称
- c 循序结构程序设计
- MTK处理器手机 解锁Bootloader 教程
- 苹果ios按键精灵deb包旧版本1.3.8安装方法 --- 越狱通用版
- android 恢复出厂设置 代码,android恢复出厂设置以及系统升级流程
- Onvif再学习---MiniXml-介绍
- 【教你区分】TVS二极管和稳压二极管的不同
- Python深度学习13——Keras模型的可视化(神经网络结构图)
热门文章
- IDEA集成Docker插件实现一键自动打包部署微服务项目
- lisp协议instand_分享|Linux 上 10 个最好的 Markdown 编辑器
- Go 中切片索引与 Python 中列表索引的差异
- Redis 笔记(06)— set 类型(向集合添加元素、获取集合元素个数、判断集合中是否包含某个元素、删除给定元素、返回集合中所有元素、计算集合的交集、并集、差集)
- 建议使用更加安全的ast.literal_eval去替代eval
- 文化内涵和历史深度:PC
- Jieba分词原理与解析
- LeetCode中等题之特殊等价字符串组
- LeetCode简单题之位1的个数
- NVIDIA深度学习Tensor Core性能解析(下)