《Gradle权威指南》--Android Gradle多项目构建
No1:
Android多项目设置
目录结构:
MyProject/
setting.gradle
app/
build.gradle
libraries/
lib1/
build.gradle
lib2/
build.gradle
setting.gradle配置文件
include ':app',':libraries:lib1',':libraries:lib2'
也可以指定项目目录
include ':example912'
project(':example912').projectDir = new File(rootDir,'chapter09/example912')
No2:
库项目引用和配置
dependencies {compile project(':libraries:lib1')}
注:Android Lib打包成一个aar包,Java Lib打包成一个jar包
如果包里面有资源,就用Android Lib,如果没有并且是纯java程序可以用Java Lib
同时发布多个版本的aar包
android{
publishNonDefault true
}
dependencies{
flavor1Compile project(path:':lib1',configuration:'flavor1Release')
flavor2Compile project(path:':lib1',configuration:'flavor2Release')
}
No3:
库项目单独发布
如何搭建自己的Maven私服:
1)使用Nexus Repository Manager,版本选择2.x.x,下载地址:http://www.sonatype.com/download-oss-sonatype,选择nexus-2.12.1-01-bundle.tar.gz包
2)在nexus-2.12.1-01\bin\jsw目录下,运行start-nexus脚本启动Nexus
3)浏览器打开http://localhost:8081/nexus/访问,Log In链接,默认用户名admin,密码admin123
No4:
build.gradle文件中应用Maven插件
apply plugin: 'com.android.library'
apply plugin: 'maven'
配置Maven构建的三要group:artifact:version
apply plugin: 'com.android.library'
apply plugin: 'maven' version '1.0.0'
group 'org.flysnow.widget'
uploadArchives{
repositoried{
mavenDeployer{
repository(url:"http://localhost:8081/nexus/content/repositories/releases"){
authentication(userName:"admin",password:"admin123")
}
snapshotRepository(url:"http://localhost:8081/nexus/content/repositories/snapshots"){
authentication(userName:"admin",password:"admin123")
}
pom.artifactId = "pullview"
pom.packaging = "aar"
}
}
}
告诉Gradle
buildscript{
repositoried{
jcenter()
}
dependencies{
classpath 'com.android.tools.build:gradle:1,5,0'
}
}
allprojects{
repositories{
jcenter()
maven{
url 'http://localhost:8081/nexus/content/groups/releases'
}
}
}
这样就可以在依赖配置里引用刚发布的aar包
dependencies{
compile 'org.flysnow.widget:pullview:1.0.0'
}
《Gradle权威指南》--Android Gradle多项目构建的更多相关文章
- 《Gradle权威指南》--Gradle插件
No1: 应用插件 apply plugin:'java' apply plugin:org.gradle.api.plugins.JavaPlugin apply plugin:JavaPlugin ...
- 《gradle权威指南》--Gradle入门
No1: Window下搭建Gradle:添加GRADLE_HOME环境变量,然后把GRADLE_HOME\bin添加到PATH系统变量里保存即可.完成后打开CMD,运行gradle -v来验证 No ...
- 《Gradle权威指南》--Gradle构建脚本基础
No1: 设置文件默认名是setting.gradle,放在根目录下,大多数作用都是为了配置子工程 No2: 一个Project包含很多个Task.Task就是一个操作,一个原子性的操作.其实它是Pr ...
- 《Gradle权威指南》--Gradle任务
No1: 多种方式创建任务 def Task ex41CreateTask1 = task(ex41CreateTask1) ex41CreateTask1.doLast{ println " ...
- 读书笔记--Android Gradle权威指南(下)
前言 最近看了一本书<Android Gradle 权威指南>,收获挺多,就想着来记录一些读书笔记,方便后续查阅. 本篇内容是基于上一篇:读书笔记--Android Gradle权威指南( ...
- 读书笔记--Android Gradle权威指南(上)
本篇文章已授权微信公众号 dasu_Android(大苏)独家发布 最近看了一本书<Android Gradle 权威指南>,对于 Gradle 理解又更深了,但不想过段时间就又忘光了,所 ...
- Gradle系列之Android Gradle插件
原文发于微信公众号 jzman-blog,欢迎关注交流. 通过前面几篇文章学习了 Gradle 基础知识以及 Gradle 插件相关的知识,关于 Gradle 及其插件相关知识请先阅读下面几篇文章: ...
- Gradle系列之Android Gradle基础配置
原文发于微信公众号 jzman-blog,欢迎关注交流. 通过前面几篇文章学习了 Gradle 基础知识以及 Gradle 插件相关的知识,关于 Gradle 及其插件相关知识请先阅读下面几篇文章: ...
- Gradle系列之Android Gradle高级配置
本篇文章主要在之前学习的基础上,从实际开发的角度学习如何对 Android Gradle 来进行自定义以满足不同的开发需求,下面是 Gradle 系列的几篇文章: Gradle系列之初识Gradle ...
- 《Gradle权威指南》--Android Gradle多渠道构建
No1: Build Variant = Build Type + Product Flavor Build Variant:构建的产物 Build Type:构建的类型 Product Flavor ...
随机推荐
- Django-Model操作数据库(增删改查、连表结构)
一.数据库操作 1.创建model表 基本结构 1 2 3 4 5 6 from django.db import models class userinfo(models.M ...
- 2018-2019-2 网络对抗技术 20165230 Exp4 恶意代码分析
目录 1.实验内容 2.实验过程 任务一:系统运行监控 每隔五分钟记录自己的电脑,并进行分析 安装配置sysinternals里的sysmon工具 任务二:恶意软件分析 静态分析工具 ViruScan ...
- Java读取Excel转换成JSON字符串进而转换成Java对象
Jar包
- linux服务器last查看关机记录
1.查看重启记录 last reboot命令 [root@test ~]# last reboot reboot system boot -.el6.x Mon May : - : (+:) rebo ...
- ruia笔记
ruia笔记 loop = loop or asyncio.new_event_loop() get_event_loop()方法仅在同样的线程中生效,如果在一个新线程中,应该用new_event_l ...
- Windows2008 r2 x64下安装FTP工具File Zilla server报错:could not load tls libraries filezilla
安装file zilla server的时候报错: could not load tls libraries filezilla 搜索了下发现是新版本有这个问题,降低到0.9.43就没这个问题了
- S5PV210 ADC转换
第一节 S5PV210的ADCS5PV210的ADC可支持10bit和12bit,它支持10路输入,然后将输入的模拟的信号转换为10bit或者12bit的二进制数字信号.在5MHz的时钟下,最大转换速 ...
- centos7 部署 open-falcon 0.2.1
=============================================== 2019/4/28_第1次修改 ccb_warlock 更新 ...
- Expm 7_2区间调度问题
[问题描述] 给定n个活动,其中的每个活动ai包含一个起始时间si与结束时间fi.设计与实现算法从n个活动中找出一个最大的相互兼容的活动子集S. 要求:分别设计动态规划与贪心算法求解该问题.其中,对贪 ...
- GitHub上README.md的简单介绍
1.编辑README文件 大标题(一级标题):在文本下面加等于号,那么上方的文字就变成了大标题,等于号的个数无限制,但一定要大于0 大标题 ==== 中标题(二级标题):在文本下面加下划线,那么上方的 ...