ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Android Library上传到JCenter仓库实践,美团点评APP在移动网络性能优化的实践

2022-02-04 11:03:02  阅读:170  来源: 互联网

标签:JCenter plugin 美团 实践 library bintray Android com android


}

mavenCentral又是什么?

我好乱啊,我不想说话。但你还是带着疑问去Google了,能搜索到的问题我们不问好吗?

好吧,直接说答案。mavenCentral跟jcenter一样,都是maven仓库,只是存放的地方不一样,不用猜了,它们半毛钱关系都没有,有一段时间Android的默认仓库是mavenCentral,但后来由于它对开发者不太友好,就把默认仓库换成了jcenter。

更加详细的说明,可以参考以下文章:

http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0623/3097.html

注册bintray账号

===========

你要想在bintray上发布自己的Library就必须有一个创建一个账号,这里建议直接使用github账号授权登录,这样以后你开源的仓库可以在github找到相应的源码,如果你不想公开的话就另外创建一个账号了。

注册bintray账号

登录成功之后,你就可以在bintray看到一些著名的仓库,比如我们开发者经常使用的homebrew。

bintray首页

创建package

=========

创建package

这里示例创建一个myutils的包,如下图所示:

创建package1

创建package2

ok,这个时候你创建好了package,后面就可以准备我们开发好的Library,然后上传到maven仓库,继续耐心看下面的步骤。

创建一个Android Library

===================

新建一个android project,然后new 一个module,选择android library,项目结构如下:

项目结构 | center

这里我只是为了演示,创建了一个简单的类:

创建MyUtils类

应用bintray插件

===========

如果想通过bintrayUpload命令上传library就必须引用相应的插件,配置如下:

dependencies {

classpath ‘com.android.tools.build:gradle:2.0.0’

classpath ‘com.github.dcendents:android-maven-gradle-plugin:latest.release’

classpath ‘com.jfrog.bintray.gradle:gradle-bintray-plugin:1.6’

}

然后在我们的Library工程的build.gradle引用插件,如下所示:

apply plugin: ‘com.android.library’

apply plugin: ‘com.github.dcendents.android-maven’

apply plugin: ‘com.jfrog.bintray’

其中com.android.library是android的插件,表示它是一个android library。

应用成功后,你会看到插件生成的task,如下图所示:

bintrayUpload task

通过这个task,我们可以将我们的library上传到maven仓库当中,现在还不行,我们还得继续完成我们的配置。

build.gradle配置

==============

我们需要在library工程的build.gradle配置我们的相应的信息,下面是示例代码:

apply plugin: ‘com.android.library’

apply plugin: ‘com.github.dcendents.android-maven’

apply plugin: ‘com.jfrog.bintray’

// 这个version是区分library版本的,因此当我们需要更新library时记得修改这个version

version = “1.0.0”

android {

compileSdkVersion 19

buildToolsVersion “23.0.3”

resourcePrefix “devilwwj_”

defaultConfig {

minSdkVersion 9

targetSdkVersion 21

versionCode 1

versionName version

}

lintOptions {

abortOnError false

}

buildTypes {

release {

minifyEnabled false

proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’

}

}

}

dependencies {

compile fileTree(dir: ‘libs’, include: [’*.jar’])

testCompile ‘junit:junit:4.12’

}

def siteUrl = ‘https://github.com/devilWwj/Android-Tech’ // 项目的主页

def gitUrl = ‘https://github.com/devilWwj/Android-Tech.git’ // Git仓库的url

group = “com.devilwwj.library” // Maven Group ID for the artifact,一般填你唯一的包名

install {

repositories.mavenInstaller {

// This generates POM.xml with proper parameters

pom {

project {

packaging ‘aar’

// Add your description here

description ‘my utils for test’

name ‘Android Commonly used utils’ //项目描述

url siteUrl

// Set your license

licenses {

license {

name ‘The Apache Software License, Version 2.0’

url ‘http://www.apache.org/licenses/LICENSE-2.0.txt’

}

}

developers {

developer { // 开发者信息

id ‘YOUR_ID’

最后

其实Android开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。

上面分享的腾讯、头条、阿里、美团、字节跳动等公司2019-2021年的高频面试题,博主还把这些技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,上面只是以图片的形式给大家展示一部分。

Android学习PDF+学习视频+面试文档+知识点笔记

【Android思维脑图(技能树)】

知识不体系?这里还有整理出来的Android进阶学习的思维脑图,给大家参考一个方向。

【Android高级架构视频学习资源】

%80%E5%8F%91%E4%B8%8D%E4%BC%9A%E8%BF%99%E4%BA%9B%EF%BC%9F%E5%A6%82%E4%BD%95%E9%9D%A2%E8%AF%95%E6%8B%BF%E9%AB%98%E8%96%AA%EF%BC%81.md)】

【Android思维脑图(技能树)】

知识不体系?这里还有整理出来的Android进阶学习的思维脑图,给大家参考一个方向。

[外链图片转存中…(img-GEShbrrn-1643943366117)]

【Android高级架构视频学习资源】

**Android部分精讲视频领取学习后更加是如虎添翼!**进军BATJ大厂等(备战)!现在都说互联网寒冬,其实无非就是你上错了车,且穿的少(技能),要是你上对车,自身技术能力够强,公司换掉的代价大,怎么可能会被裁掉,都是淘汰末端的业务Curd而已!现如今市场上初级程序员泛滥,这套教程针对Android开发工程师1-6年的人员、正处于瓶颈期,想要年后突破自己涨薪的,进阶Android中高级、架构师对你更是如鱼得水,赶快领取吧!

标签:JCenter,plugin,美团,实践,library,bintray,Android,com,android
来源: https://blog.csdn.net/wa2231a/article/details/122781697

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有