AS中的gradle学习整理
来源:互联网 发布:淘宝店怎么设置限购 编辑:程序博客网 时间:2024/06/05 22:37
一、gradle作用
- 相当于eclipse ant
- 用于构建
1.1 构建
- 构建:生成app的过程,执行一些的命令(appt,aidl,javac,dex,apkbuilder,jarsinger,zipalign)
- 依赖管理:管理依赖的jar包
1.2 查看错误
- 方式:
- message控制台进行查看
- gradle console控制台进行查看
- log文件路径:
C:\Users\用户名\.AndroidStudio1.5\system\log\idea.log
二、Gradle Scripts位置
- 切换到Android目录下查看
三、基本语法
3.1 本地依赖
- 说明: gradle 作为构建工具,能够很方便的使用本地jar包
示例:
dependencies { //单文件依赖 compile files('libs/android-support-v4.jar') //某个文件夹下面全部依赖 compile fileTree(dir: 'libs', include: '*.jar')}android {}
3.2 远程依赖
仓库
- 仓库:简单理解就是存的一些jar包云端
- maven
- ivy
- jcenter仓库地址
常见写法
- mavenCentral()别名,表示依赖是从Central Maven 2 仓库中获取的。
- jcenter()别名,表示依赖是从Bintary’s JCenter Maven 仓库中获取的。
- mavenLocal()别名,表示依赖是从本地的Maven仓库中获取的
仓库地址举例
repositories { ivy { url "http://ivy.petrikainulainen.net/repo" }}repositories { maven { url "http://maven.petrikainulainen.net/repo" }}repositories { mavenCentral()} repositories {//默认仓库 jcenter()//它是当前世界上最大的Java和Android开源软件构件仓库}
- 说明: gradle 同时支持maven,ivy
示例(maven):
repositories { //从中央库里面获取依赖 mavenCentral() //或者使用指定的本地maven 库 maven{ url "file://F:/githubrepo/releases" } //或者使用指定的远程maven库 maven{ url "远程库地址" }}dependencies { //应用格式: packageName:artifactId:version compile 'com.google.android:support-v4:r13'}android {}
四、各个gradle详解
4.1 Project位置
setting.gradle文件
- 说明: 针对module的全局配置,它的作用域所包含的所有module
示例:
//文件中的 app, extras:ShimmerAndroid 都是module,如果还有其他module都需要按照如上格式加进去。include ':app', ':extras:ShimmerAndroid'
build.gradle文件
- 说明: 整个项目的gradle基础配置文件
- 内容:
- repositories(声明仓库的源)
- android gradle plugin的版本
示例:
buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:1.5.0' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files }}allprojects { repositories { jcenter() }}task clean(type: Delete) { delete rootProject.buildDir}
4.2 Module位置(app中的build.gradle文件)
- 说明: 为app文件夹下这个Module的gradle配置文件
内容:
- apply plugin声明
android 相关属性:
- 版本
- 混淆设置
多渠道打包
清单文件中
<meta-data android:name="key" android:value="${CHANEL_VALUE}"/>
- 模块中添加productFlavors
- 调用manifestPlaceholders给清单文件进行赋值
- lint检查设置
dependencies: libs目录下的jar包依赖
示例:
// 声明是Android程序apply plugin: 'com.android.application'android { // 编译SDK的版本 compileSdkVersion 21 // build tools的版本 buildToolsVersion "21.1.1" defaultConfig { // 应用的包名 applicationId "me.storm.ninegag" minSdkVersion 14 targetSdkVersion 21 versionCode 1 versionName "1.0.0" } // java版本 compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7 } buildTypes { release { // 是否进行混淆 minifyEnabled false // 混淆文件的位置 proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' } } //多渠道打包 productFlavors{ anzhi{ manifestPlaceholders = [CHANEL_VALUE :"anzhi"] } googleplay{ manifestPlaceholders = [CHANEL_VALUE :"googleplay"] } androidmarket{ manifestPlaceholders = [CHANEL_VALUE :"androidmarket"] } } // 移除lint检查的error lintOptions { abortOnError false }}dependencies { // 编译libs目录下的所有jar包 compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:support-v4:21.0.2' compile 'com.etsy.android.grid:library:1.0.5' compile 'com.alexvasilkov:foldable-layout:1.0.1' // 编译extras目录下的ShimmerAndroid模块 compile project(':extras:ShimmerAndroid')}
1 0
- AS中的gradle学习整理
- AS中的gradle文件
- 认识AS中的Gradle
- Gradle学习资料整理
- Gradle学习整理
- AS之gradle学习二(指南)
- Gradle Recipes for Android学习整理
- AS Gradle 使用笔记
- as-build.gradle
- AS Gradle build问题
- AS:gradle -UnsupportedMethodException
- AS配置本地Gradle
- as 相关gradle配置
- AS更新Gradle方法
- as如何更新gradle
- AS gradle 理解
- AS:build.gradle笔记
- Oracle中的AS和IS的不同及使用【整理】
- PresentViewController切换界面
- 1011. World Cup Betting (20)
- iOS之加速计、陀螺仪(UIAccelermeter、Core Motion)
- 初当技术面试官感悟:给面试者的忠告
- “如何阅读这本书” 引发的思考
- AS中的gradle学习整理
- JMeter常用后置处理器性能比较
- 子集和数
- 基于 Python django 的小型论坛系统
- MySQL修改数据表存储引擎的3种方法介绍
- js 默认的参数、可变的参数、变量作用域
- Linux环境搭建nginx+2个tomcat+2个redis(主从复制)
- Linux网络编程 -- 网络模型与通信过程
- TensorFlow Installation