Android Library上传到JCenter仓库实践,android开发入门和实战

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

Android Library上传到JCenter仓库实践,android开发入门和实战

Android Library上传到JCenter仓库实践,android开发入门和实战

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

创建一个Android Library

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

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

Android Library上传到JCenter仓库实践,android开发入门和实战

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

Android Library上传到JCenter仓库实践,android开发入门和实战

应用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,如下图所示:

Android Library上传到JCenter仓库实践,android开发入门和实战

通过这个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’

name ‘YOUR NAME’

email ‘YOUR EMAIL’

}

}

scm {

connection gitUrl

developerConnection gitUrl

url siteUrl

}

}

}

}

}

task sourcesJar(type: Jar) {

from android.sourceSets.main.java.srcDirs

classifier = ‘sources’

}

task javadoc(type: Javadoc) {

options.encoding = ‘UTF-8’

source = ‘src/main/java’

}

task javadocJar(type: Jar, dependsOn: javadoc) {

classifier = ‘javadoc’

from javadoc.destinationDir

}

artifacts {

archives javadocJar

archives sourcesJar

}

Properties properties = new Properties()

// 加载本地配置

properties.load(project.rootProject.file(‘local.properties’).newDataInputStream())

bintray {

user = properties.getProperty(“bintray.user”)

key = properties.getProperty(“bintray.apikey”)

configurations = [‘archives’]

pkg {

repo = “maven” //发布到Bintray的那个仓库里,默认账户有四个库,我们这里上传到maven库

name = “myutils” //发布到Bintray上的项目名字

websiteUrl = siteUrl

vcsUrl = gitUrl

licenses = [“Apache-2.0”]

publish = true

}

}

你还需要在local.properties中定义两行代码:

总结

【Android 详细知识点思维脑图(技能树)】

Android Library上传到JCenter仓库实践,android开发入门和实战

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

虽然 Android 没有前几年火热了,已经过去了会四大组件就能找到高薪职位的时代了。这只能说明 Android 中级以下的岗位饱和了,现在高级工程师还是比较缺少的,很多高级职位给的薪资真的特别高(钱多也不一定能找到合适的),所以努力让自己成为高级工程师才是最重要的。

这里附上上述的面试题相关的几十套字节跳动,京东,小米,腾讯、头条、阿里、美团等公司19年的面试题。把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。

由于篇幅有限,这里以图片的形式给大家展示一小部分。

Android Library上传到JCenter仓库实践,android开发入门和实战

详细整理在GitHub:Android架构视频+BAT面试专题PDF+学习笔记​

识脉络 + 诸多细节。

由于篇幅有限,这里以图片的形式给大家展示一小部分。

[外链图片转存中…(img-qOGAFS7x-1646135424050)]

详细整理在GitHub:Android架构视频+BAT面试专题PDF+学习笔记​

网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。

上一篇:MySQL 官网及下载地址


下一篇:Fody 很方便,也有不方便的时候