maven android 多模块,Gradle和Android:包含多个Maven构件的pom配置出版物
使用Gradle(v 1.7)作为构建工具处理Android库时,我使用了maven插件并配置了任务uploadArchives以发布发行版和调试版lib到本地的maven仓库。
下面的代码工作正常:Gradle和Android:包含多个Maven构件的pom配置出版物
// [...]
apply plugin: 'android-library'
// [...] nothing unusual
/*
* Define name of the apk output file (build/apk/)
*/
android.libraryVariants.all
{
variant ->
def outputName = "MyModule-${android.defaultConfig.versionName}-${variant.baseName}.aar"
variant.outputFile = new File("$buildDir/libs", outputName)
}
/*
* Publish to maven local repo (older style maven plugin)
* Used while android plugin is not fixed regarding maven-publish plugin
*
* type command "gradle uploadArchives" to publish the module into the
* local .m2 repository
*/
apply plugin: 'maven'
android.libraryVariants.all
{
variant ->
// add final apk to the 'archives' configuration
project.artifacts
{
archives variant.outputFile
}
}
def localRepoPath = "file://" + new File(
System.getProperty("user.home"), ".m2/repository").absolutePath
uploadArchives
{
repositories.mavenDeployer
{
repository(url: localRepoPath)
addFilter('debug') { artifact, file ->
artifact.name.contains("debug")
}
addFilter('release') { artifact, file ->
artifact.name.contains("release")
}
pom('debug').groupId = 'com.company'
pom('release').groupId = 'com.company'
pom('debug').artifactId = 'id'
pom('release').artifactId = 'id'
pom('debug').version = android.defaultConfig.versionName + "d"
pom('release').version = android.defaultConfig.versionName
pom.packaging = 'aar'
}
}
uploadArchives.dependsOn(assemble)
然而,当试图重构POM配置:
uploadArchives
{
repositories.mavenDeployer
{
repository(url: localRepoPath)
addFilter('debug') { artifact, file ->
artifact.name.contains("debug")
}
addFilter('release') { artifact, file ->
artifact.name.contains("release")
}
pom.groupId = 'com.company'
pom.artifactId = 'id'
pom('debug').version = android.defaultConfig.versionName + "d"
pom('release').version = android.defaultConfig.versionName
pom.packaging = 'aar'
}
}
的artifactId被扩展为输出文件的名称,并的groupId为根目录的名称;从而给maven回购提供了不好的途径。
我想知道这是为什么,也许如果有一个更清晰的方式来实现我所需要的。
2013-08-23
mklj
+0
在我的项目中,我需要重命名输出'.aar'。因此,我在用于'artifactId'的'build.gradle'中设置了'archivesBaseName'。也许这有帮助。 –
+0
你有想过吗? –
+0
@YuchenZhong不幸的是,这项工作是短期实习的一部分。我不知道谁负责这个项目,因此从那以后如何处理。 –
maven android 多模块,Gradle和Android:包含多个Maven构件的pom配置出版物相关推荐
- android下的gradle升级,Android Studio Gradle版本升级简单方法
Gradle版本升级 先提前把想要升级的gradle版本下载下来 下载地址:https://gradle.org/releases 比如我想要下载Gradle 3.4版本,下载好后得到个zip压缩包 ...
- Android studio 使用Gradle发布Android开源项目到JCenter 总结
1.注册账号 先到https://bintray.com注册一个账号. 这个网站支持 github 账户直接登录的 2.获取 bintray.user 和 bintray.apikey ...
- android.mk 模块编译,通过Android.mk添加一个编译模块到系统中的顺序如下
①LOCAL_PATH ②CLEAR_VARS ③LOCAL_SRC_FILES ④LOCAL_CFLAGS(可选) ⑤LOCAL_MODULE ⑥LOCAL_STATIC_LIBRARIES(可选) ...
- Android Stadio调试gradle 插件 || Android Stadio 远程调试 || Anroid APT调试
有时候,自己开发了gralde插件,想调试一下.毕竟打印log 成本太高.效率太低.怎么做呢? 第一种方法: 1.执行gradlew 命令的时候,加上几个参数:-Dorg.gradle.debug=t ...
- 【Android 应用开发】 Android 各种版本简介 ( Support 支持库版本 | Android Studio 版本 | Gradle 版本 | jcenter 库版本 )
初学者遇到 Android Studio, 导入工程后, 会出现各种奇葩错误, 如果管理好各个插件, gradle, SDK, SDK Tools, 各种官方依赖库 的版本, 会将错误大大的减少; 这 ...
- android多渠道打包签名配置,Gradle For Android(二) 多渠道打包与签名配置
<Gradle For Android(二) 多渠道打包与签名配置> 转载请注明来自 傻小孩b(gold.xitu.io/user/57e089-喜欢的能够关注我,不按期总结文章!您的支持 ...
- android+final+框架,使用android快速开发框架afinal 开发android应用程序
首先介绍下afinal开发框架: 1.afinal是android中一个设计小巧的android应用开发框架 2.里面包含了一个orm框架,无需配置任何文件可以对android的sqlite进行增删改 ...
- Android 开发使用 Gradle 配置构建库模块的工作方式
Android 开发过程中,我们不可避免地需要引入其他人的工作成果.减少重复"造轮子"的时间,投入到更有意义的核心任务当中. Android 库模块在结构上与 Android 应用 ...
- android在java下建立模块,Android Studio:如何在Android模块中包含Java模块?
在Android工作室我有一个Android模块,我们称之为MyAndroid.我还有一个Java模块(不是独立的JAR,而是模块中的完整Java项目),我们称之为MyJava.Android Stu ...
最新文章
- oracle数据库查询人员和岗位,oracle岗位需求收集
- 什么是COM与DCOM
- Linux 用户和用户组配置说明
- File ipython-input-20-ac8d4b51998e
- 查看tensorflow pb模型文件的节点信息
- python format函数实例_Python字符串格式化,format格式化函数详细使用
- 10次相遇我才知道什么是成熟的爱--转
- 蓝桥杯2015初赛试题
- Python error: Unable to find vcvarsall.bat
- 浙江万里学院计算机专业宿舍,浙江万里学院宿舍条件,宿舍几人间环境好不好(图片)...
- 1.常用字符对象方法
- 2014/Province_Java_B/2/调和级数
- python框架flask_Python开发框架Flask-阿里云开发者社区
- CSU 1329: 一行盒子
- 关于Ubuntu下apt的一些用法及和yum的比较
- 零基础学python-看完这篇,零基础也知道怎么学Python
- 京东一面:高并发下,如何保证分布式唯一全局 ID 生成?
- Android 最常用的设计模式一 安卓源码分析—单例模式singleInstance
- 一款网页游戏外挂开发-数据抓包
- Ajax访问接口报错NET::ERR_CERT_REVOKED