学习|Android制作开源库

2020-03-12 16:09:19 浏览数 (1)

前言

前几篇针对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的方式,做个小练习,很快就发布

0 人点赞