前言
前几篇针对NanoMsg的使用做了一个小结,后台最后我们写了一个VNanoMsg的项目,放到了GitHub上,本来想生产环境使用直接引入Module进行处理即可,忍不住的又想看看我们平时用的第三方开源库那种方便的用法,于是研究了一下制作开源库的方法,这里做一个学习笔记
必备条件
想到制作开源库的必备条件是要有一个GitHub的账号,常看过我文章的朋友应该也知道,我有不少Demo的下载地址也是直接放在了GitHub,所以这个我是具备的。
制作开源库
01
GitHub创建项目
我们在GitHub中创建一个androidtestlib的项目,因为我是先做了一遍,所以这里已经创建好了
创建好后我们点击项目进去,在右侧点击绿色的Clone or download,然后复制GitHub的地址
02
本地克隆远程仓库代码
使用的工具:TortoiseGit
管理本地远程代码的工具,我用的是TortoiseGit,这个根据个人喜好可以用不同的,以前我也是用的SourceTree,不过觉得这个更轻,所以改为TortoiseGit了
在我们要克隆远程仓库的路径下鼠标右键--选择Git克隆
点击确定即可生成对应的文件夹,这样我们的克隆本地的也已经完成了。
03
创建Android项目
打开Android Studio后,新建一个androidtestlib的项目,目录就选择在我们刚才创建的本地仓库中。
04
配置项目的bulid.gradle
打开项目的build.gradle,(后面括号里要是Priject:tgestlib的)
在dependencies中加入com.github.dcendents:android-maven-gradle-plugin:1.5,后面这个1.5的版本号是根据上面gradle的版本来决定的,各个不同的版本使用的插件版本也不一样,具体看
https://github.com/dcendents/android-maven-gradle-plugin
代码语言:javascript复制 dependencies {
classpath 'com.android.tools.build:gradle:3.5.3'
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
05
创建要用的插件Moudle
我们新建一个Module,选择Android Library
起名为firstlib
创建一个utils的类,然后加入一个输入两个数求和的方法,如下图
06
配置Library的build.gradle
在Library的build.gradle的项目下要加入下面语句
代码语言:javascript复制apply plugin: 'com.github.dcendents.android-maven'
group='com.github.****' // ××××代表你github名字
下图是我自己的配置
到这里Android上的配置就根本完成了,下一步我们就要在GitHub中进行发布了
发布自己的开源库
微卡智享
01
提交代码至GitHub
首先把我们的代码提交到GitHub上
01
进入GitHub仓库中Release项目
点击进创建的远程仓库,点击上面的Release项
发布一个新的版本,输入对应的版本号,点击Publish Release
这样我们的开源库就已经发布完成了。
查看并使用开源库
微卡智享
查看发布的开源库
当我们Release我们的开源库之后,就可以登录JitPack来查看开源库的情况,比如查看我的开源库情况,账号同我们的Github,可以自动登陆的
https://jitpack.io/
开源库的使用
刚才图上有介绍开源库的使用
01
build.gradle导入第三方库
在项目中build.gradle中直接导入第三方库,下面就是我们发布的1.0版本
代码语言:javascript复制 allprojects {
repositories {
maven { url 'https://jitpack.io' }
}
}
dependencies {
implementation 'com.github.Vaccae:androidtestlib:1.0'
}
02
程序中直接调用
在MainActivity中加入一个按钮,点击后直接调用我们的utils中的plus方法即可
代码语言:javascript复制 override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
btnplus.setOnClickListener {
var res = utils.plus(5, 4)
tvshow.text=res.toString()
}
}
实现效果
点击按钮前
点击按钮后
可以看到,点击后我们直接就通过第三方库得到了传入的5和4两个数字之和
VNanoMsg1.0里面还有些小问题,这两天在写1.0.1版本,部分代码都重写了,调用方法也自己简单的用了用MVP和MVVM的方式,做个小练习,很快就发布