android 开发中,为了不重复造轮子,我们经常会使用别人写好的代码直接拿来用。在lib种加入别人的jar包或者aar包,或者依赖别人的库文件。

还有比较常用的是直接配置一个maven地址,用compile xxxx.xxx.x直接就可以使用了。比如:

我们项目使用了一个pdf加载的外部库,直接这样就导入了外部库,十分方便。

 

 这种方式是最好的一种,服务器的lib更新了,这边可以同步更新,还可以指定特定版本的lib库文件。

下面我们使用github来创建一个自己maven库,一边以后我们可以把自己总结归纳的一些代码放上去,一边在后面的项目中使用,或者其他人使用。

 

 

 打开android studio创建我们的项目,我随便创建了一个名字叫my_maven,这个主要用来一会儿测试我们生成的库文件的,随便创建一个就行

为我们的项目先创建一个module,这个就是后面我们需要提交到github上面去的库,随便创建一个

点击file》》new-module》》android library

 

 

 

我创建了一个名字为mylib的module,名字随便取,按照你需要取就行

我们这个module的作用很简单,就是一个打印日志的简单封装。 这里只讲怎么把库房github上面,库的功能我们不关心。

 

如下,一个简单的log打印,可以控制,是否打印日志,可以修改tag标签

 

 

好了,我们先在我们刚创建的项目里面使用一下这个工具库,很简单,直接

 

compile project(':mylib')

在我们的界面调用一下这个工具类

进测试,这个工具类可以用,好了,我们这个库创建好了,然后觉得它比较实用,想分享给奇特人使用,或者想留着以后项目中使用,那么我们继续下面.生成maven的配置文件,然后上传github

 

在madule的 build.gradle中加入如下代码

 

apply plugin: 'maven'

uploadArchives {
    repositories.mavenDeployer {
        //maven 本地文件地址
        def mavenLib = file(getProperty('mavenPath'))
        repository(url: "file://${mavenLib.absolutePath}")
        pom.project {
            version 1.0
            groupId GROUDID
            artifactId ARTIFACTID
        }
    }
}

在项目根目录gradle.properties中加入

mavenPath = H:/maven/
GROUDID=com.hck.lib.log
ARTIFACTID = hck

mavenPath 这个是我们一会儿生成配置文件,所放置的文件夹路径,我放在h盘,maven目录里面

gradle.properties,ARTIFACTID 和build.gradle种的GROUDID,ARTIFACTID是对应的

 

 

groupId定义了library的group。有可能在同样的上下文中存在多个不同功能的library。如果library具有相同的group,那么它们将共享一个groupId。通常我们以开发者包名紧跟着library的group名称来命名,比如com.hck.lib。然后artifactId中是library的真实名称。至于VERSION,就是版本号而已,虽然可以是任意文字,但是我建议设置为x.y.z的形式

 

compile 'com.github.barteksc:android-pdf-viewer:2.8.2'

com.github.barteksc相当于groupId

barteksc相当于 artifactId

2.8.2及是version

 

上面我们就定义配置了一个 com.hck.lib.log:hck:1.0  这样的一个maven库文件路径。以后再项目中,就使用这个路径了

 

配置好上面后,记得rebuild studio一下,保证studio没报错,然后再看下图:重点

看studio右边的 gradle,如图,双击箭头所指,进行build

完成后,就可以看见 H盘的maven文件夹里面多了新的文件

 

看见没有aar已经生成了,然后我们把maven里面的所有文件,记得是所有文件。使用git 提交到我们开始创建的仓库里面就行了。

 

提交库文件,可以看这里:

git提交本地文件夹到github

 

我提交到github 如图:,我是把刚H盘里面生成的全部的文件,提交到了 github上面的 maven 仓库里面,如图

在项目中使用我们上传到github的库文件,

我们github仓库的地址是:

 

https://github.com/hhhccckkk/maven

那么我们maven库的地址需要修改为:十分重要。这个地址项目中需要使用。

 

https://raw.githubusercontent.com/hhhccckkk/maven/master/

 

在我们需要使用这个库的项目中的根目录build.gradle里面加入maven库的地址:就是刚上面这个地址

allprojects {
    repositories {
        jcenter()
        maven {
            url 'https://raw.githubusercontent.com/hhhccckkk/maven/master/'
        }
    }

}

 

在项目的build.gradle种加入我的创建的库 

com.hck.lib.log:hck:1.0


compile 'com.hck.lib.log:hck:1.0'


 


 

rebuild下,我们的项目就可以使用我们上传到github的lib库了。

 

com.hck.lib.log:hck:1.0 这个名字自己随便取,但是必须满足这样的规范xxx:xxx:xxx