gradle构建android项目
工具:
Android Studio2.0
gradle-2.10
一、Android常识
在做Android开发的时候我们首先必须要有一个SDK。一般SDK的主要作用就是将硬件和软件进行分离,做软件开发的程序员不需要知道如果去控制底层硬件的行为,SDK已经将对硬件的操作封装好,并且为我们提供了一套API,我们只需要调用相应的API就可以达到控制硬件的效果。官方的SDK是由google来发布,而每个硬件厂商会根据自己的硬件情况对SDK进行修改,主要是对底层的修改,并且保证上层API接口不变,这样我们开发的APP才能够运行在不同的硬件设备上。下来我们看看Android Studio中的SDK。
1.打开SDK管理器
该管理器主要管理我们已将下载好的各个版本的SDK
SDK管理器的部分内容
Tools Android工具集
- SDK Tools工具集,该工具集中包含了许多我们开发时用到的工具。比如说模拟器工具(模拟Android系统)、画图工具、模拟SD卡工具等
- SDK Platform-tools工具集 该工具集中有adb指令工具、sqlite数据库、堆栈查看工具等。
- SDK Build-tools 构建我们的android项目,其下面有dex、aapt等工具,对我们的项目进行编译、打包等。
- 上面这个三个工具都能在我们下载的SDK中找到
Andoid6.0(API 23)
该包的主要作用是用来构建模拟器的,其中的SDK的开发文档,SDK的平台依赖,cpu模拟器(包含多个CPU架构,System Image)。如果我们需要使用AVD的话就需要下载该包。
Extras 主要提供Android开发时需要的类库,这里安装了Google提供的类库
一、gradle文件
当我们新建一个android项目后,Andriod Studio会自动为我们创建多个gradle文件和目录,具体内容如下:
下面我们分别对这几个目录进行分析:
二、app下的build.gradle
apply plugin: 'com.android.application'android {compileSdkVersion 23buildToolsVersion "23.0.3"defaultConfig {applicationId "xidian.dy.com.basicapp"minSdkVersion 15targetSdkVersion 23versionCode 1versionName "1.0"}buildTypes {release {minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'}} }dependencies {compile fileTree(dir: 'libs', include: ['*.jar'])testCompile 'junit:junit:4.12'compile 'com.android.support:appcompat-v7:23.4.0' }
- apply plugin 来声明程序,这里声明这是个android应用
- compileSdkVersion 23 来声明编译android程序时使用的SDK版本,不同版本其API会有差异,但是一般都向下兼容的
- buildToolsVersion "23.0.3" 使用的构建工具版本,有时我们导入了别人的工程,但是就是编译不通过,其主要原因就是我们构建工具版本不对
- applicationId 代表应用的包名,这是我们应用的唯一标识
- minSdkVersion 15 为了我们的程序能够在低版本的Android系统上运行,需要指定最低版本的系统
- targetSdkVersion 23 这个可以认为我们的应用运行最合适的SDK版本
- VersionCode 1 前面提到包名是应用的唯一表示,但是为了以防万一报名有重复的,又加入该字段(整型)。它还有一个重要作用就是版本覆盖,当我们安装高版本的应用 时会将低版本覆盖掉就是引用高版本的VersionCode值要大
- versionName 给人看的
- minifyEnabled 是否开启混淆,主要为了提高安全性,防止别人反编译我们的应用来查找代码漏洞
- proguardFiles 这部分有两部分构成一个是android自带的混淆规则(proguard-android.txt),第二部分是我们自定义的混淆规则(proguard-rules.pro),最终的混淆结果 这两个文件共同作用
- compile fileTree 编译libs目录下的所有jar包,要编译成dex文件
三.MyApplication下的gradle文件夹
该文件夹中有两个文件,主要的文件是配置文件properties
#Mon Dec 28 10:00:20 PST 2015 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip
可以看到里面声明了gradle的目录与下载路径以及当前项目使用的gradle版本,这些默认的路径我们一般不会更改的,这个文件里指明的gradle版本不对也是很多导包不成功的原因之一。
四、MyApplication下的build.gradle
这个文件是整个项目的gradle基础配置文件,我们来看看这里面的内容。
// Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript {repositories {jcenter()}dependencies {classpath 'com.android.tools.build:gradle:2.0.0'// NOTE: Do not place your application dependencies here; they belong// in the individual module build.gradle files } }allprojects {repositories {jcenter()} }task clean(type: Delete) {delete rootProject.buildDir }
从上面的注视中我们可以看到这个一个顶层的配置文件,这里的配置可以影响到每个子配置文件。buildscript内容主要包含了两个方面:一个是声明仓库的源,这里可以看到是指明的jcenter(), 之前版本则是mavenCentral(), jcenter可以理解成是一个新的中央远程仓库,兼容maven中心仓库,而且性能更优。另一个是声明了使用gradle plugin的版本为2.0.0。
五、MyApplication下的settings.gradle
这个文件是全局的项目配置文件,里面主要声明一些需要加入gradle的module,我们这里的module只有一个app
include ':app'
六、总结
关于gradle就介绍到这里,对于项目/工程与module的关系请查看链接
http://stormzhang.com/devtools/2014/11/28/android-studio-tutorial2/
转载于:https://www.cnblogs.com/xidongyu/p/5544124.html
gradle构建android项目相关推荐
- Android Studio目录结构和Gradle构建Android项目
一,Android Studio的目录结构和工程项目介绍 二,Eclipse工程与Android Studio工程的区别 1,Eclipse工程能导入AS运行,但AS建立的工程不能再Eclipse中运 ...
- 使用gradle构建android项目,Android中使用Gradle来构建App项目的入门指南
gradle是Android开发中引入的全新的构建系统,因为全新的构建系统主要是出于下面的目的: 1. 方便复用代码和资源 2. 构建多种版本的apk更见简单,不论是为多渠道构建不同的apk还是构建不 ...
- gradle构建android项目详解
1.用Gradle构建 1.1 工程结构 如图所示,这是一个不能更普通的Android的Gradle工程了. 根目录下面的settings.gradle当中主要是用来include子模块的,比如我们这 ...
- 在 Jenkins 中使用声明式 Pipeline 构建 Android 项目
Blue Ocean 是 Jenkins 推出的一套新的 UI,对比经典 UI 更具有现代化气息.2017 年 4 月 James Dumay 在博客上正式推出了 Blue Ocean 1.0. 兼容 ...
- gradle构建web项目_25多个Web资源可帮助您构建项目
gradle构建web项目 This article was created in partnership with Mekanism. Thank you for supporting the pa ...
- gradle java ide_使用Gradle构建Java项目
使用Gradle构建Java项目 这个手册将通过一个简单的Java项目向大家介绍如何使用Gradle构建Java项目. 我们将要做什么? 我们将在这篇文档航中创建一个简单的Java项目,然后使用Gra ...
- 使用Gradle构建Java项目
使用Gradle构建Java项目 本指南将引导您使用Gradle构建一个简单的Java项目. 你会建立什么 您将创建一个简单的应用程序,然后使用Gradle进行构建. 你需要什么 约15分钟 最喜欢的 ...
- IntelliJ 使用Maven构建Android项目过程
这是我的第一篇博客!对我的意义十分重大!在这篇博客的编写过程就是我在使用Maven构建Android项目中踩过的坑的记录.在此由于本人的水平有限,这篇文章也只能当作经验借鉴而已,希望后来者能够避开这些 ...
- Gradle 构建 android 应用常见问题解决指南
转载地址:http://www.cnblogs.com/youxilua/p/3348162.html 1: 使用最新的gradle android插件 以前我们写的时候会这么写 dependenci ...
最新文章
- XDU 翼讯账号算法
- response的运行过程
- 字符串系列函数(不断跟新)
- 【转载】Kerberos原理--经典对话
- ERP沙盘模拟实验报告
- 《Linux内核修炼之道》——2.2 编译内核
- 机器学习实战pdf原文内容分享
- 这群人,用8年讲述体育能有多迷人
- 计算机二级ms在线模拟,2018年全国计算机二级在线自测模拟考场/网页版:MS Office高级应用(含真题及答案)...
- 通过WIFI(不用数据线)连接Android手机调试
- 微信小程序实现开关原理、动态添加class
- clip-summary
- 推荐花椒直播服务端的 4 个开源项目
- 955/965公司名单
- python opencv录制视频_Python27+Opencv3 捕获网络摄像头IPCamera实时视频
- 我奋斗了18年,不是为了和你一起喝咖啡(转)
- Java基础 学习笔记7
- springboot集成rabbitmq商品秒杀业务实战(流量削峰)
- 判断文件是否存在,判断是否为文件夹
- 前百度总裁陆奇:我给有梦想的年轻人9点建议
热门文章
- 利用Advanced Installer将asp.netMVC连同IIS服务和mysql数据库一块打包成exe安装包
- Java创建数组的三种方法
- qmail+spamassassin启用spf过滤
- 关卡CyclicBarrier的使用
- 第十七课:js数据缓存系统的原理
- 行业发展之关于有用信息和无用信息的思考
- 一起学WP7 XNA游戏开发(三.二 Sprite Texture Font)
- 北电PBX资料_D 14 外 線 設 定
- 制备pdms膜的方法_“轻若鸿毛”的新型高弹性石墨烯-PDMS传感器
- Segment Routing — Overview