《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多项目构建相关推荐
- 读书笔记--Android Gradle权威指南(上)
本篇文章已授权微信公众号 dasu_Android(大苏)独家发布 最近看了一本书<Android Gradle 权威指南>,对于 Gradle 理解又更深了,但不想过段时间就又忘光了,所 ...
- Android Gradle权威指南
作者新书<Android Gradle权威指南>指南发布,如果你还在如何入门Android Studio发愁,如何从原来的基于Ant的打包转向基于Gradle的打包,那么这本书就是你需要的 ...
- Android Studio下项目构建的Gradle配置及打包应用变体
Gradle简介 Gradle是一个自动化构建工具,采用Groovy的Domain Specific Language(领域特定语言)来描述和控制构建逻辑.具有语法简洁.可读性强.配置灵活等特点. ...
- android gradle权威指南pdf_干货 | 携程 Android 10适配踩坑指南
作者简介 曙光,携程资深软件工程师,负责市场营销相关研发及管理工作.2019 年 9 月 3 日,Google 发布了 Android 10 正式版.Android 10 聚焦移动创新.安全隐私和数字 ...
- android gradle is插件,android gradle 插件创建 configuration
写了一个gradle 插件,现在的需求是需要通过 productFlavors 的类型来创建不同的 configuration 目前代码: private Project project privat ...
- Gradle用户指南(1)-Gradle安装
前置条件 Gradle 需要 Java JDK 或者 JRE,版本是 6 及以上.Gradle 将会装载自己的 Groovy 库,因此,Groovy 不需要被安装.任何存在的 Groovy 安装都会被 ...
- android天天理财项目构建思路代码和总结知识点--1
本项目属于android开发者入门练习上手的简单项目,值得学习和研究总结一下,内部的套路在开发android上都是大同小异.首先我们把几个大的功能点分区看下,后续我在写其他的内部分支功能. 模块大体功 ...
- 07 Confluent_Kafka权威指南 第七章: 构建数据管道
文章目录 CHAPTER 7 Building Data Pipelines 构建数据管道 将数据集成到上下文 Considerations When Building Data Pipelines ...
- Android Gradle指南系列
自己已经做了几年的Android开发,但是对gradle并不是非常熟悉,遇到了问题大都是去Google查询资料,虽然都能解决问题,但是并不能从根本上去了解本质,每次去查找都要花费不少的时间,如果开发任 ...
最新文章
- 正则表达式笔记(谷歌分析自定义报告)
- 【计算机网络】网络安全 : 对称密钥密码体质 ( 数据加密标准 DES | DES 加密过程 | DES 保密性 | 三重 DES 加密 )
- Web安装项目创建桌面快捷方式
- ubuntu 12.04 LTS u盘安装
- 在Linux里awk与sed的区别,linux awk和sed讲解
- 如何隐藏电脑下方工具栏个别图标_最酷!最帅!最拽!这就是你想要的样子!工具栏美化终极篇...
- 12M电信宽带,为什么12台机器上网,总是掉线?有什么办法解决?请给位高手指教...
- 2021-06-22列表样式与背景图片
- STM32相关问题解决方法
- 逻辑斯蒂回归 matlab实现
- vmware linux ssh密码,使用 SSH 密钥连接到 Linux VM - Azure Linux Virtual Machines | Azure Docs...
- 【Tools】TCP/IP 测试工具——SocketTools
- csr8675硬件支持蓝牙5.0还是4.2?5.0是不是后来软升级达到的效果?
- android往mac投屏,安卓手机怎么投屏到Mac系统中?
- 十分钟入门Matplotlib
- 地表反射率影响因素_全了,高考地理答题要点归纳!
- postgresql常用操作指令
- 物联网是什么?猿承科技
- Linux系统如何把kali装进u盘,怎么把kalilinux系统装到u盘中
- 1044 火星数字 ——c实现