先介绍一下,写这个文章的初衷吧。
我们公司有4个项目,4个项目用到很多东西都一样,每一次都改来改去的,4个项目,很多时候都使用了一个神奇的工具,就是CV大法。
自己觉得复杂,就想着整理一份,然后做代码封装,这样每一次改比较简单,还巩固了代码封装。
说干就干
准备工作
环境:
1.git
2.Android Studio
步骤
1.创建作为库的Module
2.生成maven文件
3.在Github创建仓库,并将生成的maven文件上传
4.项目添加远程Maven依赖库
5.验证
这里以新工程为例
1.创建作为库的Module
1.1 新工程建完以后,新建一个库的Module。
1.2 接着给库名和模块名取名,这里统一取maventest。
1.3 在库中添加需要的代码,这里随意添加一个打印日志类
到这里库算是完成库的搭建,接着是生成maven文件。
2.生成maven文件
2.1 在maventest的module的build.gradle文件末尾添加如下代码:
applyplugin:'maven'
uploadArchives {
repositories.mavenDeployer {
defmavenDirPath = file('F:\\mavendir')// 本地存放目录(自行选择),可放在gradle.properties文件中引用
repository(url:"file://${mavenDirPath.absolutePath}")// 必须双引号,单引号不会转义$
pom.project {
groupId"com.example.maven.test"// 可以随意取,一般取包名
artifactId"meaventest"// 可以随意取,一般取库的名字
version"1.0.0"// 版本号
}
}
}
2.2 打包生成maven文件
打开Android Studio的命令行,并执行
gradlew:maventest:uploadArchives
备注:maventest为模块名
编译成功以后会在F盘生成mavendir目录,然后打开该目录下的maven-metadata.xml,可以看到里面的参数都已经配置完毕了,同时也可以找到meaventest-1.0.0.aar的文件 。
3.在Github创建仓库,并将生成的maven文件上传
3.1 在github新建仓库
3.2 将刚刚生成的mavendir内容上传到github
gitinit
gitremote add origin git@github.com:Geroff/MavenTest.git
gitadd .
gitcommit -m "first commit"
gitpush origin -u master
如果上传时报错,则先git pull,如果这时git pull出现“fatal: refusing to merge unrelated histories“,则先执行
git pull origin master--allow-unrelated-histories
然后重新执行:git push origin mastermaven,如果没有报错则,文件已经上传到github。
3.3 生成仓库地址
复制出仓库当前界面的链接地址
https://github.com/Geroff/MavenTest
对其进行修改:
https://raw.githubusercontent.com/Geroff/MavenTest/master
即 github.com ——> raw.githubusercontent.com
再在末尾追加/master
表示当前要选用的是master分支的内容
4.项目添加远程Maven库
4.1 在项目的根目录的build.gradle文件中添加如下代码:
maven{
url"https://raw.githubusercontent.com/Geroff/MavenTest/master"
}
**备注:**是在allprojects的repositories添加。
4.2 在需要使用该库的build.gradle文件的dependencies添加依赖, 代码如下
dependencies{
......省略其它依赖
implementation'com.example.maven.test:meaventest:1.0.0'
}
5.验证
出现该库的类,则说明添加依赖成功