抖音资讯

douyinzx

aar文件是什么(后缀arr的文件打开方式)

iseeyu2年前 (2024-04-29)抖音资讯132

一、背景:

我们的业务是对开发者提供一个sdk,在android上来说是一个aar包的依赖。

为了方便开发者集成,最早采用了大家最常用的jcenter来发布,这样开发者的集成成本会更低一些。

后来jcenter官宣要关闭服务,为了更好地服务客户,我们自己部署了一套maven系统,来实现

最开始这个maven系统只有我们部门在使用了,我就推动了这个事情的落地

现在有不少其他的部门也开始使用这个系统。

有很多同学都是第一次使用,对maven的原理和上传下载还不是很清晰,会导致增加大家的工作量,

为了方便大家后续使用,写这个文章进行简单的介绍,满足基本的业务需求,深入的需求需要大家再发掘

二、原理

1、整个maven可以分成两大部分

  1. pom文件 其中 pom 是一个配置文件,可以配置 项目信息、项目依赖信息、开源协议信息、开发者信息、源码信息 等
  2. aar(jar等)资源文件

其中的aar(jar等)资源文件就是比较简单的内容,就是一个被存储的文件,maven支持存储在本地也可以在s3上进行备份存储

2、整个的流程

 

三、maven仓库创建

1、创建仓库流程

 

创建仓库分为四步,分别是

  1. 点击设置按钮 上图1的位置
  2. 选择仓库选项,上图2的位置
  3. 点击创建仓库,上图3的位置,在里面创建一个maven仓库就行(可参考下面的2、创建maven的详细步骤)
  4. 创建成功后,找到对应的name后面的url下的copy,会显示出来仓库的url,这个url后面会使用

2、创建maven的详细步骤

  1. 选择仓库类型,可以选择hosted,如果有特殊需求,可以研究下差异

 

  1. 填写资料

 

填写仓库的名字和存储的位置,其他参数感兴趣的,可以自行独立研究

  1. 点击底部的创建按钮完成

四、生成端配置

假设已经在maven仓库进行创建了仓库

1、配置文件

假设文件名字为 UploadMaven.gradle

apply plugin: 'com.android.library'
apply plugin: 'maven-publish'


def siteUrl = 'http://www.baido.com' // 项目主页
def gitUrl = 'https://github.com/demo/demo.git' // 项目的git地址
Properties properties = new Properties()
properties.load(project.rootProject.file('local.properties').newDataInputStream())
afterEvaluate {
    publishing {
        repositories {
            def Nexususername = properties.getProperty("Nexus.name")
            def Nexuspassword = properties.getProperty("Nexus.password")
            //release仓库
            maven{
                //仓库的名字和地址
                name = "demo_release_repo"
                url="http://maven-android.demo.com/repository/demo/"
                // 仓库用户名密码
                credentials {
                    username = Nexususername
                    password = Nexuspassword
                }
            }
            //快照仓库
            maven{
                //仓库的名字和地址
                name = "demo_snapshot_repo"
                url="http://maven-android.demo.com/repository/demo_snapshot/"
                // 仓库用户名密码
                credentials {
                    username = Nexususername
                    password = Nexuspassword
                }
            }
        }
        publications {
            // 创建名为 release的任务
            release(MavenPublication) {
                // 需要使用的变体,假设有free和pay两个变体,可以选择一个
                from components.free

                // 文件的groupId
                groupId = 'com.mbridge.msdk.support'
                //文件的名字
                artifactId = project.name
                //对pom进行的操作
                pom.withXml{
                    Node pomNode = asNode()
                    pomNode.dependencies.'*'.findAll() {
                        //将所有的默认依赖移除
                        //it.parent().remove(it)
                    }
                }
                pom {
                    name = artifactId
                    url = siteUrl
                    licenses {
                        //证书说明
                        license {
                            name='The Apache Software License, Version 2.0' // 开源协议名称
                            url='http://www.apache.org/licenses/LICENSE-2.0.txt' // 协议地址
                        }
                    }
                    developers {
                        developer {
                            id='demo_id'    // 账号
                            name='demo'   // 名称
                            email='demo@demo.com' // 邮箱地址
                        }
                    }
                    //软件配置管理
                    scm {
                        connection=gitUrl
                        developerConnection=gitUrl
                        url=siteUrl
                    }
                }
            }
        }
        }
    }

2、maven的账号和密码

可以写在 local.properties文件中

Nexus.name=demo_name
Nexus.password=demopassword

3、执行gradle任务

生成pom的任务

generatePomFileForReleasePublication

推送到远端的任务(以推送release任务为例)

publishReleasePublicationToDemo_release_repoRepository

可以拆解为:

publish+publications的名字,首字母大写+PublicationTo+maven的name,首字母大写+Repository

4、执行顺序

  1. 生成aar
  2. 执行生成pom的任务
  3. 执行推送任务

五、总结

如果没有意外的话,这样就会传到maven上去,给用户使用就可以了

扫描二维码推送至手机访问。

版权声明:本文由西安泽虎代运营发布,如需转载请注明出处。

转载请注明出处https://0291.com.cn/post/48888.html

相关文章

直播带货主播名字取什么呢最好

直播带货主播名字取什么呢最好

本文目录 直播带货主播名字取什么呢? 1、挽清风饮入喉 2、人潮拥挤我真的好多余人心可谓我真的好爱你 3、思丁 4、IOS丶千谎百计 5、帅叔叔昂 6、愿时光缓慢 7、爱情与婚姻 8、壹個人彈琴。...

抖音怎么批量取消喜欢的作品(一次性删除喜欢的视频)

抖音怎么批量取消喜欢的作品(一次性删除喜欢的视频)

抖音是一款超级好玩又很有创意的短视频拍摄软件,在抖音上你既可以拍摄自己的短视频作品,也可以观看别人的作品,好玩的作品还可以设为我喜欢,不过有的小伙伴在问抖音怎么删除喜欢视频,接下来小编就带来抖音删除我喜欢视频的方法。 抖音怎么删除喜欢视频? 1.进入抖音我的主界面,点击喜欢,可以看到你所...

抖音发视频怎么提高浏览量(增加抖音浏览量的方法)

抖音发视频怎么提高浏览量(增加抖音浏览量的方法)

抖音作为一款热门的短视频分享平台,吸引了大量的用户和创作者。对于很多抖音创作者来说,提高视频播放量是一个重要的目标。本文将从内容创作、推广策略和互动交流三个方面介绍提高抖音视频播放量的技巧。 首先,内容创作是提高抖音视频播放量的关键。创作者需要制作有趣、有吸引力的视频内容,以吸引观众的关注和...

对于新手,如何玩抖音营销呢? 新手怎么玩抖音视频(抖音刚开始怎么玩)

对于新手,如何玩抖音营销呢? 新手怎么玩抖音视频(抖音刚开始怎么玩)

  抖音今年火得不得了,国内日活超1.5亿月活超3亿,这个数字是多么的大啊!抖音从2016年就开始成立到目前到至,也有3年的时间了,目前还是红利期,很多做网络营销、做微商的人都看到了商机,都慢慢的开始转行去做抖音营销,也想在抖音这波红利期来赚一波的钱。那么对于新手,如何玩抖音营销呢?接下来小编和大家...

百度广告创意报告--商品组件报告

百度广告创意报告--商品组件报告

一、进入商品组件报告 在百度搜索推广平台-数据报告Tab下,您可通过点击左侧导航来进入商品组件报告模块。 入口:数据报告-创意报告-商品组件报告: 二、商品组件报告的作用 百度搜索动态商品广告,是基于广告主的多样的商品和服务,实现广告的批量投放和千人千面的动态创意,为多商品或多服务的广告...

爱国营销号们,请放过“夏日祭”吧

最近南京玄奘寺供奉日军战犯的事情引发了整个中文互联网的震怒,而目前相关部门也在追究相关责任,包括那位舆论最为关注的吴啊萍也已经落网,并交代了错误行为的原因。玄奘寺事件自然要严肃处理,同时我们也应该愤怒以待,就正如罗翔老师所言:“没有愤怒,就没有正义”,绝不能姑息任何的嫌疑罪...

现在,非常期待与您的又一次邂逅

我们努力让每一部企业宣传片和抖音短视频成为商业大片