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 22 buildToolsVersion "22.0.1" defaultConfig { applicationId "com.hzchou.myapplication" minSdkVersion 18 targetSdkVersion 22 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles 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 项目)。
更多相关文章
- 一款常用的 Squid 日志分析工具
- GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
- RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
- Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
- 安装android-ndk-1.5_r1遇到的问题及解决方法
- Android9.0版本Vold服务源码分析之上层处理SD卡挂载
- 如何在JNI中抛异常
- 第18天android:《android从零开始》视频(22-23)数据存储
- http://www.shengshiyouxi.com