Android学习之基础知识二(build.gradle文件详解)

一、详解build.gradle文件

1、Android Studio是采用Gradle来创建项目的,Gradle是非常先进的构建的项目的工具,基于Groovy领域特定的语言(DSL)来声明项目配置,摒弃了传统基于XML(如Ant、Maven)的各种烦琐的配置。

2、Android项目中存在两个build.gradle文件,一个在外层,一个在app中:

A、外层的build.gradle文件:当需要添加全局的项目构建配置时才修改其中的内容

  jcenter():代码托管仓库,存放Android开源项目的代码,声明该配置后,就能轻松引用jcenter()上的开源项目了

  classpath:声明一个Gradle插件,3.1.2是版本号

  

B、app内的build.gradle文件:

  applicationId:指定项目的包名,如果要修改包名就在这里修改

  versionCode、versionName:指定项目版本号、版本名。在生成安装文件时这两个属性非常重要

  buildTypes闭包:指定生成安装文件的相关配置,里面通常只有两个闭包,一个是debug(用于指定生成测试版安装文件的配置,忽略不写),一个是release(用于指定生成正式版测试安装文件的配置)

  minifyEnabled:指定是否对项目代码进行混淆

  proguardFiles:用于指定混淆使用的规则文件,有两种规则文件:proguard-android.txt(在Android SDK目录下,是所有项目通用的混淆规则)

                               proguard-rules.pro(在当前项目的根目录下,可以在编写特定的混淆规则)

注意:通过Android Studio运行手生成的都是测试版安装文件

  dependencies闭包:功能非常强大,用于指定当前项目所有的依赖关系,Android项目有三种依赖方式:本地依赖,库依赖,远程依赖。

  fileTree:表示本地依赖,依赖于libs目录下的jar文件

依赖详解参考地址:https://www.jianshu.com/p/9db6eaae2829

原文地址:https://www.cnblogs.com/hh8888-log/p/9812955.html

时间: 2024-08-08 08:20:17

Android学习之基础知识二(build.gradle文件详解)的相关文章

build.gradle文件详解<三>

参考:http://blog.csdn.net/baidu_31093133/article/details/51860637 build.gradle配置参数详解 //声明是Android程序 apply plugin: 'com.android.application' android { //程序在编译的时候会检查lint,有任何错误提示会停止build,我们可以关闭这个开关 lintOptions { abortOnError false //即使报错也不会停止打包 checkRelea

build.gradle文件详解

1 apply plugin: 'com.android.application'//说明module的类型,com.android.application为程序,com.android.library为库 2 android { 3 compileSdkVersion 22//编译的SDK版本 4 buildToolsVersion "22.0.1"//编译的Tools版本 5 defaultConfig {//默认配置 6 applicationId "com.nd.fa

Android学习之基础知识十四 — Android特色开发之基于位置的服务

一.基于位置的服务简介 LBS:基于位置的服务.随着移动互联网的兴起,这个技术在最近的几年里十分火爆.其实它本身并不是什么时髦的技术,主要的工作原理就是利用无线电通讯网络或GPS等定位方式来确定出移动设备所在的位置,而这种技术早在很多年前就已经出现了. 那么为什么LBS技术直到最近几年才开始流行呢?这主要是因为,在过去移动设备的功能及其有限,即使定位到了设备所在的位置,也就仅仅只是定位到了而已,我们并不能在位置的基础上进行一些其他的操作.而现在就大大不同了,有了Android系统作为载体,我们可

Android学习之基础知识九 — 数据存储(持久化技术)之使用LitePal操作数据库

上一节学习了使用SQLiteDatabase来操作SQLite数据库的方法,接下来我们开始接触第一个开源库:LitePal.LitePal是一款开源的Android数据库框架,它采用了对象关系映射(ORM)的模式,并将我们平时开发最常用到的一些数据库功能进行了封装,使得不用编写一行SQL语句就可以完成各种建表和增删改查的操作,LitePal的项目主页上也有详细的使用文档,地址是: https://github.com/LitePalFramework/LitePal 一.配置LitePal 要在

Android学习之基础知识七—碎片的使用

碎片(Fragment)是一种可以嵌入在活动中的UI片断,它能让程序更加合理和充分地利用大屏幕的空间,它与活动相似,可以简单的理解为一个迷你型的活动,它也有自己的生命周期.碎片在平板的应用非常广泛. 一.碎片的简单用法 需求:在一个活动中添加两个碎片,并让这两个碎片平分活动空间. 第一步:由于碎片通常应用在平板开发中,所以先创建一个平板模拟器,然后新建一个Android项目:FragmentTest 第二步:创建左侧.右侧两个碎片布局     第三步:新建一个LeftFragment类继承Fra

Android学习之基础知识十六 — Android开发高级技巧的掌握

一.全局获取Context的技巧 前面我们很多地方都使用到了Context,弹出Toast的时候.启动活动的时候.发送广播的时候.操作数据库的时候.使用通知的时候等等.或许目前来说我们并没有为得不到Context而发愁,因为我们很多地方都是在活动中进行的,而活动本身就是一个Context对象,但是,当应用程序的架构逐渐开始复杂起来的时候,很多的逻辑代码都将脱离Activity类,但此时又恰恰需要使用Context,特许这个时候就会感到有些伤脑筋了. 举个例子,在前面网络编程的最佳实践中,我们编写

Android学习之基础知识八—Android广播机制

一.广播机制简介 Android提供了一套完整的API,允许应用程序自由的发送和接受广播,发送广播借助于我们之前学过的:Intent,而接收广播需要借助于广播接收器(Broadcast Receiver) 广播的类型主要分为两种:标准广播和有序广播. 标准广播:一种完全异步执行的广播,在广播发出之后,所有接收器几乎在同一时刻接收到这条广播消息,因此它们之间没有任何的先后顺序可言,这种广播的效率会比较高,但是同时也意味着它无法被截断的.标准广播的工作流程图如图所示: 有序广播:一种同步执行的广播,

Android学习之基础知识十三—网络编程的最佳实践

上一讲已经掌握了HttpURLConnection和OkHttp的用法,知道如何发起HTTP请求,以及解析服务器返回的数据,但是也许你还没发现,之前我们的写法其实是很有问题的,因为一个应用程序很可能会在许多地方使用到网络功能,而发送HTTP请求的代码基本都是相同的,如果我们每次都去编写一遍发送HTTP请求的代码,这显然是非常差劲的做法. 通常情况下我们都应该将这些通用的网络操作提取到一个公共的类里,并提供一个静态方法,当想要发起网络请求的时候,只需要简单的调用一下这个方法即可,比如使用如下的写法

Android学习之基础知识八—Android广播机制实践(实现强制下线功能)

强制下线功能算是比较常见的了,很多的应用程序都具备这个功能,比如你的QQ号在别处登录了,就会将你强制挤下线.实现强制下线功能的思路比较简单,只需要在界面上弹出一个对话框,让用户无法进行任何操作,必须要点击对话框中的确定按钮,然后回到登录界面即可.下面我们就来一步一步的实现这个功能: 第一步:创建一个活动管理器ActivityCollector,用于管理所有的活动 第二步:创建所有活动的父类BaseActivity,继承AppCompatActivity 因为所有的活动都是继承该活动,所有我们在该