[英]Android multi module libraries
How can I build all Android modules in project and expose those to maven repository without creating huge gradle script?如何在项目中构建所有 Android 模块并将它们公开到 maven 存储库而不创建巨大的 gradle 脚本? There are no clear instructions about modularity in Android projects with artefacts generated by gradle maven plugin.
Android 项目中没有关于模块化的明确说明,其中包含 gradle maven 插件生成的工件。 It would be awesome to use built in task.
使用内置任务会很棒。
In few steps:分几步:
config.gradle
and put this fragment:config.gradle
并放入这个片段:ext.packageName = "com.abc.example"
ext.mavenPublisher = {
task androidSourcesJar(type: Jar) {
archiveClassifier.set('sources')
from android.sourceSets.main.java.srcDirs
}
afterEvaluate {
publishing {
publications {
maven(MavenPublication) {
from components.release
artifact androidSourcesJar
groupId = packageName
artifactId = findProperty('moduleName')
version = getVersion()
}
}
}
}
}
In root gradle.properties
add property version=1.0.0
.在根
gradle.properties
添加属性version=1.0.0
。
In library module build.gradle
add:在库模块
build.gradle
添加:
apply from: "${rootProject.projectDir}/config.gradle"
with mavenPublisher
gradle.properties
with:gradle.properties
:moduleName=name
gradle clean build publishToMavenLocal
.gradle clean build publishToMavenLocal
。 In section from components.release
you can change release type to debug
or another one build type.在
from components.release
部分,您可以将发布类型更改为debug
或另一种构建类型。 Also you can add version to each module if you want, but probably some release plugin configuration is required.如果需要,您也可以为每个模块添加版本,但可能需要一些发布插件配置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.