Gradle 配置 Android 工程

# Gradle 配置 Android 工程 #

随着Android studio 的普及,gradle 也开始在android 开发着中普及起来。这里分享一下我的grale 脚本以及对gradle的认识。

1.Gradle 的基本结构

整个工程的gradle 由 project build.gradle, seetings.gradle,gradle.properties,module build.gradle 组成。

## 1.project build.gradle ##
projects build.gradle是项目所有模块需要的资源。以及配置各个module中的公共资源,如版本号,build tool 等信息

ext {
    applicationId = "com.tracelijing.immediately"
    buildToolsVersion = "23.0.2"
    compileSdkVersion = 23
    minSdkVersion = 14
    targetSdkVersion = 23
    versionCode = 1
    versionName = "1.0.0"
    }

## 2.settings.gradle: ##
这个文件是用来配置多模块的,比如你的项目有两个模块module-app,module-tlibrary,那么你就需要在这个文件中进行配置,格式如下:

include ‘:app‘, ‘:tlibrary‘

## 3.gradle.properties: ##
gradle 配置文件,比如可以配置签名相关信息如keystore位置,密码,keyalias等。

## 4.module.gradle: ##
主要是配置每个子module 的细节,上面我们也提到了在root build.gradle 中声明子module 公用的信息,下面我们看下子module 中如何使用 rootProject 的信息。

android {
    compileSdkVersion rootProject.ext.compileSdkVersion
    buildToolsVersion rootProject.ext.buildToolsVersion
    
    defaultConfig {
    minSdkVersion rootProject.ext.minSdkVersion
    targetSdkVersion rootProject.ext.targetSdkVersion
    versionCode rootProject.ext.versionCode
    versionName rootProject.ext.versionName
    }
    buildTypes {
    release {
    minifyEnabled false
    proguardFiles getDefaultProguardFile(‘proguard-android.txt‘), ‘proguard-rules.pro‘
    }
    }

- android 中 module 的区分主要有以下两中

Android application module
    
        apply plugin: ‘com.android.application‘
    
    android project module
    
        apply plugin: ‘com.android.library‘

- 工程依赖,jar 包管理

导入jar包

` compile files(‘libs/xxx.jar‘)`

导入工程

`compile project(‘:module-A‘)`

导入aar

`compile ‘com.aaa.xxx:core:[email protected]‘`

排除依赖
    `compile (group:‘xxx‘,name:‘xxx‘,version:‘xxx‘){
  exclude group:‘xxx‘,module:‘xxx‘//module对应的就是artifactId}`

- 签名管理
  签名是一个很敏感的东西,所以我们应该妥善的保管。这里我们可以把签名发展本地。
  定义一个keystore.properties
    
     store_file=D\:\\Code\\immediately.jks  
      store_password=123456  
      key_alias=123456  
      key_password=123456

signingConfigs {
          def Properties props = new Properties()
          def propFile = new File(‘signing.properties‘)
          if (propFile.canRead()) {
          props.load(new FileInputStream(propFile))
          
          signingConfigs {
          release {
          storeFile file(props[‘store_file‘])
          storePassword props[‘store_password‘]
          keyAlias props[‘key_alias‘]
          keyPassword props[‘key_password‘]
          }
          debug {
          storeFile file(props[‘store_file‘])
          storePassword props[‘store_password‘]
          keyAlias props[‘key_alias‘]
          keyPassword props[‘key_password‘]
          }
          }
          } else {
          signingConfigs {
          debug {
          println ‘signing.properties not found‘
          }
          }
         }
          }
    
- 输出管理

因为需要经常打包,apk 文件和 mapping 文件不在同一处比较麻烦所以重现定义了一下 apk 文件 已经 mapping 文件的输出路径,这样方便了管理资源
    
     android.applicationVariants.all { variant ->
         variant.outputs.each { output ->
             def outputFile = output.outputFile
             def intoFile = "D:\\immediateRelease"
             if (outputFile != null && outputFile.name.endsWith(‘.apk‘)) {
                 //这里修改apk文件名
                 def fileName = "immediatel-${defaultConfig.versionCode}-${releaseTime()}.apk"
                 output.outputFile = new File(intoFile, fileName)
             }
 
             if (variant.getBuildType().isMinifyEnabled()) {
                 variant.assemble.doLast {
                     copy {
                         from variant.mappingFile
                         into intoFile
                         rename { String fileName ->
                             "mapping-${defaultConfig.versionCode}-${releaseTime()}.txt"
                         }
                     }
                 }
             }
         }
     }

## 总结 ##
本篇只讲了 gradle 的基本结构和一些基本配置。  
详细请参考 github https://github.com/lijing01/immediately  
Gradle 可以做很多事情,之后会进一步的学习。

时间: 2024-12-03 01:51:04

Gradle 配置 Android 工程的相关文章

使用Gradle构建Android工程

Gradle是以Groovy语言为基础,基于DSL语法的构建工具,它通过插件的方式定制工程构建过程.Google开发了Android Gradle插件,使用Gradle构建Android工程. Gradle构建Android工程,我们可以在Android studio中使用,也可以在命令行中使用,也可以集成到持久化集成工具中. Gradle构建Android工程的配置文件名是build.gradle,存放在工程的根目录下. 一个Android工程(Project)是由一个或多个组件(Module

Android Gradle 配置 [转]

转载自:http://pybeta.com/2016/06/about-gradle/ Android Gradle配置 编译加速 在gradle.properties中配置 1 org.gradle.configureondemand=true #demand 2 org.gradle.daemon=true #单独的守护进程 3 org.gradle.parallel=true #串行编译 4 org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m

Android Studio下项目构建的Gradle配置及打包应用变体

Gradle简介 ??Gradle是一个自动化构建工具,采用Groovy的Domain Specific Language(领域特定语言)来描述和控制构建逻辑.具有语法简洁.可读性强.配置灵活等特点.基于Intellij IDEA社区版本开发的Android Studio天生支持Gradle构建程序.Groovy是一种基于JVM的敏捷开发语言,结合了Phthon.Ruby和Smalltalk的许多强大特性.同时,Groovy代码既能够与java代码很好地结合,也能够用于扩展现有的代码. Grad

Android Project和app中两个build.gradle配置的区别

Android 开发也挺长时间了,从开始就使用的AndroidStudio开发,但是说下来其实自己对AS(AndroidStudio简称)还真的是不了解不深入.好吧,其实我只知道AS是一个相当强大的工具,我要学习的还有很多.  言归正传,这段时间在学习RtroLambda和ButterKnife的使用,我发现他们的导入在Project的build.gradle中引入的而不是在app的build.gradle中,这让我觉得有点郁闷,因为我才发现不太知道这两个gradle的区别,下面来总结一下. 一

android studio gradle配置

刚刚从eclipse转androd studio遇到遇到了很多坑,今天距帮大家来填填坑 自2013年5月16日,在I/O大会上,谷歌推出新的Android开发环境——Android Studio,并对开发者控制台进行了改进,增加了五个新的功能, google就已经彻底放弃eclipse 转as了! 我们知道as选择了最优秀的构建工具gradle Gradle:Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具.它使用一种基于Groovy的特定领域语言(D

理解与配置android studio中的gradle

使用gradle构建android应用时,你总是需要这样一个文件:build.gradle.你应该已经看过这个文件了,如果没有看过的话,你现在就可以看一下,它没有多少内容.它的简洁性得益于它提供了很多对设置和属性的默认值.gradle是基于groovy语言的,但就使用它构建普通的工程的话,是可以不去学groovy的,如果想深入的做一下自定义的构建插件,可以考虑学一下groovy,因为它是基于java的,所以你有java基础的话,学习不会很难. 这篇博客旨让任何一个人能看懂android stud

Android build.gradle 配置

一.初始配置:(新建项目自动配置好的): 1.build.gradle(app) apply plugin: 'com.android.application' //下边apk重命名使用 static def buildTime() { def date = new Date() def formattedDate = date.format('yyyyMMdd-HHmm') def iml = new File('app/app.iml') if (iml.exists()) { return

Android开发之深入理解Android Studio构建文件build.gradle配置

摘要: 每周一次,深入学习Android教程,TeachCourse今天带来的一篇关于Android Studio构建文件build.gradle的相关配置,重点学习几个方面的内容:1.applicationId和package属性值的关系,2.怎么配置安全的自定义签名,3.两种构建类型的区别,4.为什么要定制产品的偏好配置?,5.怎么才能加快DEX文件的生成速度,6.为什么要将一个apk拆分成多个?,7.关于引入依赖包你不知道的秘密.通过这篇文章的学习,你会对build.gradle文件有一个

Android Studio 在图形界面使用 Gradle 配置项目所需jar包

在 Android Studio 中使用第三方 jar 包,可以直接下载后添加到项目中,也可以使用 Gradle 配置进行管理.图形界面下十分简单. 点击下图中间的图标,或者选中 Model ,按F4 打开 Project Structure 面板后选择 Dependencies 选项卡 点击 + 号 ,选择1 Library dependency ,我们从互联网服务器上下载 Google提供的 gson.jar 包 在弹出框的文本框中输入需要的jar包的名字,最好是包名.点击右边的查找按钮,如