AS中build.gradle文件配置讲解
来源:互联网 发布:福昕阅读器for mac 编辑:程序博客网 时间:2024/05/21 21:36
module中的build.gradle的文件配置。
一般主要包括如下根节点:
apply plugin
必须放在第一行,它可以指定这个module是一个应用(用 apply plugin: ‘com.android.application’ 配置),或是一个库(用 apply plugin: ‘com.android.library’ 配置)。
allprejects
依赖中一些lib的仓储位置。有些lib的仓储位置是一些特别的地址,在这里进行设置。
eg:
repositories { jcenter() maven { url 'https://download.01.org/crosswalk/releases/crosswalk/android/maven2' } maven { url "https://oss.sonatype.org/content/repositories/snapshots/" } }
dependencies
项目中的依赖库,在这里设置。
compile fileTree(include: ['*.jar'], dir: 'libs')
表示 编译时,可以依赖包括libs下的jar包。如果项目中有jar包,必须添加此行才能依赖jar
compile files('libs/android-async-http-master.jar')
表示依赖libs下的android-async-http-master.jar
compile project(':library')
表示 依赖本地的library类型的叫做 library 的 module。
compile 'com.android.support:appcompat-v7:21.0.3'
表示依赖远程库 com.android.support:appcompat-v7:21.0.3。
主要讲讲 android 根节点
android节点主要包含一下节点:
android { compileSdkVersion ANDROID_BUILD_TARGET_SDK_VERSION as int buildToolsVersion ANDROID_BUILD_TOOLS_VERSION defaultConfig { } buildTypes { } compileOptions { } sourceSets { } lintOptions { } productFlavors { flavor1 { } flavor2 { } } signingConfigs { release { storeFile file(×.keystore) storePassword ××× keyAlias ×××× keyPassword ××× } }}
我们来逐一认识下:
compileSdkVersion 21buildToolsVersion 21.1.2
这两个是指定的编译的SDK版本,以及编辑工具版本。
defaultConfig
这个是默认配置,相当于eclipse中manifest中的一些基本配置,buildType中也将自动继承。
它里面可以放入很多配置,如下面buildTypes/release的一些配置也可放入其中:
defaultConfig { applicationId com.example.app.application minSdkVersion 15 targetSdkVersion 21 versionCode 1 versionName 1.0 ndk { moduleName app cFlags -DANDROID_NDK -D_RELEASE ldLibs m, log, jnigraphics abiFilters all }}
这里,如果是apk项目必须要applicationId 配置,表示的是包名。但如果是library类型的则不需要。
下面一次是:最小sdk版本15,目标sdk版本21,代码版本1,版本名称1.0等apk的基本信息。
ndk部分,作用是可以直接编译ndk代码,不需要自己执行。
buildType
这里进行编译配置,系统默认有release(发布配置)和debug(调试配置)
buildTypes { release { minifyEnabled true // Enables code shrinking for the release build type. proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' signingConfigs signingConfigs.release } debug{ } }
其中,release 能进行缩量混淆配置(减小apk体积)minifyEnabled true,以及 进行混淆文件设置 proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’,还能对签名工具进行配置 signingConfigs signingConfigs.release.
compileOptions
compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7}
对java的版本配置,以便使用对应版本的一些新特性。
sourceSets
重新指向源码路径
sourceSets {//目录指向配置 main { manifest.srcFile 'AndroidManifest.xml'//指定AndroidManifest文件 java.srcDirs = ['src']//指定source目录 resources.srcDirs = ['src']//指定source目录 aidl.srcDirs = ['src']//指定source目录 renderscript.srcDirs = ['src']//指定source目录 res.srcDirs = ['res']//指定资源目录 assets.srcDirs = ['assets']//指定assets目录 jniLibs.srcDirs = ['libs']//指定lib库目录 } debug.setRoot('build-types/debug')//指定debug模式的路径 release.setRoot('build-types/release')//指定release模式的路径 }
lintOptions
lintOptions { abortOnError false}
这个设置编译的lint开关。程序在build的时候,会执行lint检查,有任何错误或者警告提示,都会终止构建,我们可以将其关掉。
productFlavors
productFlavors { free { applicationId 'com.example.myapp.free' } paid { applicationId 'com.example.myapp.paid' } }}
productFlavors块,你可以配置多个产品风味(免费版、付费版、不同渠道版)。这里你可以创建不同版本的app,通过重写defaultConfig{}的设置。productFlavors是可选的。默认情况下,系统不会自动创建。每个flavor都可以自己的的application id。
signingConfigs
signingConfigs { release { storeFile file(×.keystore) storePassword ××× keyAlias ×××× keyPassword ××× }}
包签名的配置,你可以设置具体的签名文件,签名密码等等
更多内容请看:Android官方AS配置文档地址:https://developer.android.com/studio/build/index.html
- AS中build.gradle文件配置讲解
- AS中build.gradle文件配置讲解
- 较完整的配置AS项目的build.gradle文件
- build.gradle文件的配置
- AndroidStudio中build.gradle文件详细配置说明
- as-build.gradle
- AS Gradle build问题
- AS:build.gradle笔记
- AS获得build.gradle中变量的方法
- [Android] AS 中 Gradle 配置运行浅析
- [Android] AS 中 Gradle 配置运行浅析
- [Android] AS 中 Gradle 配置运行浅析
- AS 中 Gradle 配置运行浅析
- [Android] AS 中 Gradle 配置运行浅析
- 浅析总结 AS 中 Gradle 配置运行
- AS 中 Gradle 配置运行浅析
- build.gradle中buildConfigField自定义配置
- Android Studio中build.gradle文件详解
- C# Graphic - DrawLine - draw line and move it
- DL学习笔记【12】caffe参数调节-数据层
- windows下用cmd命令netstat查看系统端口使用情况
- Java的基础知识3——常用类
- 201607
- AS中build.gradle文件配置讲解
- 欢迎使用CSDN-markdown编辑器
- MEF学习
- C# 类
- Linux SVN命令总结
- daimachuan
- POJ 1287 Networking [prim求解最小生成树]
- mark
- session会话过期设置