Android开发工具之Android Studio----Gradle
.gradle 文件介绍
一个 Android Studio 项目中,会存在多个 .gradle 文件。其中, project 目录下存在一个 build.gradle 文件和一个 settings.gradle 文件;每一个 module 会存在一个 build.gradle 文件。
关于 gradle 的基本讲解
Settings.gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules.buildscript { //用于设置驱动构建过程的代码repositories {jcenter()//声明使用 maven 仓库。在老版本中,此处为 mavenCentral()。// mavenCentral() :表示依赖从 Central Maven 2 仓库中获取。// jcenter() :表示依赖从 Bintary’s JCenter Maven 仓库中获取。// **mavenLocal()** :表示依赖从本地的Maven仓库中获取。}dependencies {//声明了使用 Android Studio gradle 插件版本。一般升级AS或者导入从//Eclipse中生成的项目时需要修改下面gradle版本。classpath 'com.android.tools.build:gradle:1.2.2'// NOTE: Do not place your application dependencies here; they belong// in the individual module build.gradle files}
}allprojects {//设置每一个 module 的构建过程。在此例中,设置了每一个 module 使用 // maven 仓库依赖。 repositories {jcenter()}
}
默认的 project 目录下的 settings.gradle 文件内容如上。可有可能默认情况下, project 目录下的 settings.gradle 文件不存在,你可以自己创建。
• include ‘:app’:表示当前 project 下有一个名称为 app 的 module 。 下图:
如果你需要引入的 module 并不是在 工程的根目录下面
可以如下设置
include ':app2'
project(':app2').projectDir = new File('path/to/app2')
接下来讲 module 中的 build.gradle 文件
apply plugin: 'com.android.application'android {compileSdkVersion 22buildToolsVersion "22.0.1"defaultConfig {applicationId "com.hzchou.myapplication"minSdkVersion 18targetSdkVersion 22versionCode 1versionName "1.0"}buildTypes {release {minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'}}
}dependencies {compile fileTree(dir: 'libs', include: ['*.jar'])compile 'com.android.support:appcompat-v7:22.2.0'
}
• apply plugin: ‘com.android.application’:
表示使用 com.android.application 插件。也就是表示,这是一个 android application module 。 com.android.library 表示,这是一个 android library module 。
• android:
配置所有android构建过程需要的参数。
• compileSdkVersion:
用于编译的 SDK 版本。
• buildToolsVersion:
用于 Gradle 编译项目的工具版本。
• defaultConfig:
Android 项目默认设置。
1. applicationId:应用程序包名。
2. minSdkVersion:最低支持 Android 版本。
3. targetSdkVersion:目标版本。实际上应为测试环境下测试机的 Android 版本。
4. versionCode:版本号。
5. versionName:版本名称。
• buildTypes:
编译类型。默认有两个: release 和 debug 。我们可以在此处添加自己的 buildTypes ,可在 Build Variants 面板看到
• minifyEnabled:
是否使用混淆。在老版本中为 runProguard ,新版本之所换名称,是因为新版本支持去掉没使用到的资源文件,而 runProguard 这个名称已不合适了。
• proguardFiles:
使用的混淆文件,可以使用多个混淆文件。此例中,使用了 SDK 中的 proguard-android.txt 文件以及当前 module 目录下的 proguard-rules.pro 文件。
• dependencies:
用于配制引用的依赖。
1. compile fileTree(dir: ‘libs’, include: [‘*.jar’]):
引用当前 module 目录下的 libs 文件夹中的所有 .jar 文件。
2. compile ‘com.android.support:appcompat-v7:21.0.3’:
引用 21.0.3版本的 appcompat-v7 (也就是常用的v7* library 项目)。
Android开发工具之Android Studio----Gradle相关推荐
- Android开发工具视频Android 12(S)准备
Android开发工具视频Android 12(S)准备 适配步骤 下载最新的Android studio工具,点我到官网下载最新的吧! 最新版的studio规定jdk使用必须至少11,所以请移步下载 ...
- 全网最全Android开发工具,Android开发框架大全
涵盖Android方方面面的技术, 目前保持更新. 时刻与Android开发流行前沿同步. 目录 一.工具 Android开发工具 在线工具宝典大全 二.框架 *缓存框架* DiskLruCache ...
- Android 开发工具集合 - (Android Dev Tools)
收集整理Android开发所需的Android SDK.开发中用到的工具.Android开发教程.Android设计规范,免费的设计素材等. 欢迎大家推荐自己在Android开发过程中用的好用的工具. ...
- Android开发工具——ADB(Android Debug Bridge) 一概览
Android Debug Bridge (adb) 是一个android开发人员必会的多功能的调试工具,确实它的名字一样,它在开发者和目标机器之间,架起了一座bridge. adb的用法很简单,只要 ...
- 盘点android 开发工具,盘点Android开发者必备的十大开发工具
Android SDK提供了一系列可帮助开发者设计.创建.测试和发布Android应用程序的强大工具,以下是游戏邦编译developer推荐的10款最常用的开发工具. 1.Eclipse w/ADT ...
- Android开发工具之Android Studio---如何打JAR包
Android Studio 打 Jar 包一直是一个麻烦的事,按照网上现有的教程,打包一个混淆的 jar 需要完成下列步骤: 将 plugin 修改为library后 build 出 aar,再提取 ...
- Android开发工具之Android Studio--如何打包sdk通过arr包的方式
Android studio给我们提供一种更简便的方式,可以同时把class和res文件打包进去,现在的support v7 和gson-2.21就是aar打包方式 打包方法: 我们先把想要打包成sd ...
- Android开发工具之Android Studio--调用系统隐藏方法之操作aidl文件步骤
android studio的aidl文件是用来跨进程访问的,在很多的android 程序开发过程中都会需要创建一个AIDL服务,AIDL服务是什么,使用android studio创建AIDL接口服 ...
- android 开发工具类,Android中常用开发工具类—持续更新...
一.自定义ActionBar public class ActionBarTool { public static void setActionBarLayout(Activity act,Conte ...
最新文章
- Spring Boot 整合 Mybatis Annotation 注解的完整 Web 案例
- 没想到,他面试竟然挂在了Spring的这个点上...
- 白话Elasticsearch73_ES生产集群中的索引管理02
- [转]virtualbox下安装增强工具简单步骤
- 计算机lg符号,数学符号lg的意思
- idea报错 电脑死机蓝屏
- 【Python】import自己的模块报错
- phpcms网站搬家至服务器
- 如何在Java的特定范围内生成随机整数? [英]How do I generate random integers within a specific range in Java?
- zend调试php,Zend Studio使用教程:在Zend Studio中调试PHP(4/5)
- ros怎么跑小车_ROS与RACECAR教程-Arduino ROS节点进行小车控制
- 宝塔linux面板环境安装,BT.CN宝塔面板环境安装流程(图文教程)
- ipad上的html编辑器,iPad Pro变生产力工具,你还缺这个轻量级浏览器端代码编辑器...
- 导数与微分常用公式(基础)
- java地铁最短距离_地铁线路最短路径(项目实现)
- Java抓取网页图片
- php nts ts 版本区分
- 京东供应商协同平台 客户评价数据导出python
- 快递物流管理系统(SSM,JQUERY-EASYUI,MYSQL)
- 【收藏】前端开发必备:前端开发不得不收藏的网站,提高200%开发效率!
热门文章
- Win10+tensorflow:SSD调试问题:Unable to open table file ../checkpoints/ssd_300_vgg.ckpt
- Qt第三方库QCustomPlot——认识图表的各个部分
- 可以查到的资料和可以淘到的原件 DIY 四轴
- X Window、GNOME和KDE之间的关系
- sparse double型矩阵转为full矩阵
- ustc小道消息20211230
- 科大星云诗社动态20210521
- 你所不知道的 Transformer!
- 统计特性和概率估计-1 (数学推导与证明)
- KNN(K-Nearest Neighbor)分类算法原理