《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 ...
随机推荐
- Ubuntu16.04搭建QingdaoU(docker一键式部署)
QDUOJ已经开源到2.0版本了,下面的教程不再适用,仅做纪念吧! 这几天装什么Linux.开源OJ上瘾了...竟然没去刷题...嗯,做好记录就写题啦! 先上原始网站的图: 风格不错,很符合我的口味. ...
- POJ3304 Segments 【线段直线相交】
题意: 给出n条线段两个端点的坐标,问所有线段投影到一条直线上,如果这些所有投影至少相交于一点就输出Yes!,否则输出No!. 思路: 计算几何.这道题要思考到两点: 1:把问题转化为是否存在一条直线 ...
- servlet相关
servlet是在服务器端运行的一个小程序.一个servlet就是一个java类,并且可以通过“请求-响应”编程模型来访问的这个驻留在服务器内存里的servlet程序. 1.生命周期 2.内置对象 r ...
- 论文笔记系列-DARTS: Differentiable Architecture Search
Summary 我的理解就是原本节点和节点之间操作是离散的,因为就是从若干个操作中选择某一个,而作者试图使用softmax和relaxation(松弛化)将操作连续化,所以模型结构搜索的任务就转变成了 ...
- xcode查找当前程序的沙盒
随意在程序中添加一个断点,当程序命中断点的时候,控制台中会出现一个"lldb" 此时在"lldb"后面添加上 po NSHomeDirectory() 回车 ...
- linux笔记_day05
1.bash以及特性 shell:外壳 GUI:KDE,Gnome,Xfce CLI:sh,csh,ksh,bash(born again shell) 进程:在每个进程看来,当前主机上只存在内核和当 ...
- Shell脚本中执行sql语句操作mysql的5种方法【转】
对于自动化运维,诸如备份恢复之类的,DBA经常需要将SQL语句封装到shell脚本.本文描述了在Linux环境下mysql数据库中,shell脚本下调用sql语句的几种方法,供大家参考.对于脚本输出的 ...
- H3C SNMP OID
有两种mib-style [1]老些的设备 cpu 使用率OID: .1.3.6.1.4.1.25506.2.6.1.1.1.1.6.slot 内存使用率OID: .1.3.6.1.4.1.2550 ...
- window系统下远程部署Tomcat
远程访问windows系统,在windows系统上启动tomcat,发布项目.1.拨VPN2.远程桌面连接,cmd --> mstsc 回车,弹出远程桌面连接窗口 3.输入计算机IP:132.2 ...
- 关于XMLHttpRequest状态的讨论及处理方法
今天主要是讨论下XMLHttpRequest的响应状态问题.我们知道,XMLHttpRequest的响应阶段有5个,分别是: 请求未初始化 服务器连接已建立 请求已接收 请求处理中 请求已完成,且响应 ...