用户登录
用户注册

分享至

android gradle build

  • 作者: 联合国最高能力秘书长
  • 来源: 51数据库
  • 2020-10-05
主要配置你的软件版本信息、引用库的配置,以及编译所需的配置

build.gradle是gradle的配置文件,类似于maven中pom.xml文件,以下是build.gradle的简单示例:
apply plugin: 'java'
group = 'org.yousharp'
version = '1.0-SNAPSHOT'
sourceCompatibility = 1.7
targetCompatibility = 1.7
repositories {
mavenCentral()
maven { url "repo.maven.apache.org/maven2" }
}
dependencies {
compile group: 'com.google.guava', name: 'guava', version:'17.0'
compile group: 'redis.clients', name: 'jedis', version:'2.6.0'
testCompile group: 'junit', name: 'junit', version:'4.11'
}



  1. 在编写程序的时候,有时候我们需要兼容不同系统版本的手机来进行真机测试,所以有时候我们需要修改sdk或者其他的东西的版本号,这时候我们就需要了解build.gradle文件了。
2. 首先,在Android studio的一个工程里,在Gradle Scripts目录下,有一个文件build.gradle(Module:app),打开。这里我随便选了一个工程的build.gradle文件做例子:
apply plugin: 'com.android.application'

android {
? ?compileSdkVersion 21
? ?buildToolsVersion "21.1.2"

? ?defaultConfig {
? ? ? ?minSdkVersion 14
? ? ? ?targetSdkVersion 21
? ? ? ?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 project(':xDroid')
? ?compile project(':UniversalImageLoader')
? ?compile project(':xdroidrequest')
? ?compile project ( ':library')
}



compileSdkVersion 21,说明要运行该源码,你必选已经安装了android API 21。
buildToolsVersion 21.1.2 说明要运行该源码,你必须已经安装了 android sdk build-tools 21.1.2。
minSdkVerison 表示向下低至android API 14,即androd 4.0和4.0以上的版本都可以运行该工程。
targetSdkVerision 表示采用的目标android API是 API 21即 android 5.0。
?3.下面的dependencies里指明的就是一些需要用到的第三方库。
?
gradle文件可以有更多的内容,更多详情可以查看百度文库?http://wenku.baidu.com/link?url=dU5_gdgmk-NKE9U4Z1fTarFWFXf6jsHHMoxxVwRc0P4ZRr__OiZHhIhiSQMOla6wqa9FxKdQCfGv3gOZz1e7pemG9g58loNdFObm9g9A8DK



  为什么要用Gradle?
  Gradle是比较先进的构建系统,也是一个很好的构建工具,允许通过插件自定义构建逻辑
  以下是为什么Android Studio选择Gradle的主要原因:
  使用领域专用语言(Domain Specific Language)来描述和处理构建逻辑。(以下简称DSL)
  基于Groovy。DSL可以混合各种声明元素,用代码操控这些DSL元素达到逻辑自定义。
  支持已有的Maven或者Ivy仓库基础建设
  非常灵活,允许使用best practices,并不强制让你遵照它的原则来。
  其它插件时可以暴露自己的DSL和API来让Gradle构建文件使用。
  允许IDE集成,是很好的API工具
  需要准备:
  Gradle 1.6 or 1.7
  SDK with Build Tools 17.0.0 (released 5/16/2013)
  Basic Project
  在Gradle项目的根目录下,有个叫build.gradle的文件,它描述了这个项目的整体构建基础。
  build文件
  最基本的java程序,它的build.gradle文件就一句话:
  apply plugin: 'java'
  最基本的Android项目,它的build.gradle如下:
  buildscript {
repositories {
mavenCentral()
}

dependencies {
classpath 'com.android.tools.build:gradle:0.5.6'
}
}

apply plugin: 'android'
android {
compileSdkVersion 17
}

  我们一步步来分析一下上面三部分的内容。
  buildscript{...} 配置了驱动build的代码,它声明将在Maven中央仓库,取一个classpath dependency,也就是Android plugin for Gradle v0.5.6
  apply plugin 指明了用到的plugin是android,就像前面java程序中,用的plugin是java一样
  android{...} 中配置了所有android构建的参数,这里也就是Android DSL的入口点。
  默认的,只有目标编译环境是必要的,也就是compileSdkVersion这个属性。这和以前在project.properties中的target属性类似。
  值得注意的是,如果你在Android项目中写 apply plugin:java 而不是apply plugin:android的话,将会build失败。



  项目自动化构建工具。就是它的配置文件



  你知道gradle不?项目自动化构建工具。就是它的配置文件



  gradle就相当于一个构建系统,将一套代码按照gradle中的配置构建出相应的apk;
安卓中每一个module下都含有一个build.gradle,其中第一句就是apply plugin:来指定这个文件夹是是library,还是application:

application的gradle主要指定当前flavor所生成apk的包名,签名,apk文件名,编译sdk版本,versionName/code,以及dependencies(依赖库)等等

library的gradle主要指定改library的编译sdk版本号,以及依赖库等;
其实As早已将这些配置已可视化的形式提供给开发者了,在As中ctrl+shift+Alt+S,左侧可以选择不同的module,右侧可对其常用属性进行修改,然后对应gradle会自动添加/修改相应的代码,而不用你手动去写代码;
但是最好自己去找一些Gradle的语法知识学习一下,对于高级开发来说还是很有必要的
软件
前端设计
程序设计
Java相关