创建一个适用于android工程的maven库

最近希望将自己的项目组件化,参考了一些网上的文章。第一步,先创建一个maven仓库以便不同工程使用。

maven仓库之间的关系

我们使用Artifactory进行管理,先下载, 解压,运行bin\artifactory.bat即可启动Artifactory。
然后运行http://localhost:8081/artifactory/webapp/#/home,可以看到已经运行成功了。
然后我们建立3个工程,分别是MainProject, BussProject1,PublicJar1.

在三个工程中的gradle文件中分别添加

buildscript {
    dependencies {
        classpath "org.jfrog.buildinfo:build-info-extractor-gradle:3.1.1"
    }
}

apply plugin: 'com.jfrog.artifactory'
apply plugin: 'maven-publish'

然后是在grade文件中定义发布的规则


def packageName = "ngaridoctor224.easygroup.com"
def versionId = "1.0"
def projectArtifactId = "ChildBussProject"


dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:25.3.1'
    testCompile 'junit:junit:4.12'
}

publishing {
    publications {
        aar(MavenPublication) {
            groupId packageName
            version =  versionId
            artifactId projectArtifactId

            // Tell maven to prepare the generated "* .aar" file for publishing
            artifact("$buildDir/outputs/aar/${project.getName()}-release.aar")
        }
    }
}

artifactory {
    contextUrl = 'http://localhost:8081/artifactory'
    publish {
        repository {
            // The Artifactory repository key to publish to
            repoKey = 'libs-release-local'

            username = "admin"
            password = "password"
        }
        defaults {
            // Tell the Artifactory Plugin which artifacts should be published to Artifactory.
            publications('aar')
            publishArtifacts = true

            // Properties to be attached to the published artifacts.
            properties = ['qa.level': 'basic', 'dev.team': 'core']
            // Publish generated POM files to Artifactory (true by default)
            publishPom = true
        }
    }
}

这样,运行gradlew assembleRelease artifactoryPublish
就可以在artifactory上看到生成库了
这里写图片描述

然后在使用的工程处,添加

dependencies {

    compile 'ngaridoctor224.easygroup.com:PublicJar1:1.0'
    compile 'ngaridoctor224.easygroup.com:PublicRes:1.0'
}

这样就能用咯。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值