相信很多开发者都会用到第三方库,那么如何自己开发一个第三库供其他人使用呢?其实开发一个第三方库非常简单。建议收藏+点赞。
保姆级教程!
开发环境MacBook pro(和windows有一点小区别,但总体流程无异)
项目地址:ZsmTest
一、创建自己的第三方库源码
1.新建项目
名字:My Application
包名:cn.zsmupdatex.myapplication
如图:
2.创建创建无视图的项目
如图
3.新建模块
创建完成后添加一个Module如图(File-New-Module)
4.添加库功能
在library模块中新建一个Test.java,这里是第三库的主要方法(这里创建我就不贴了)我写的示例代码如下:
public static void method(Context context){
Toast.makeText(context, "调用第三方库成功!", Toast.LENGTH_SHORT).show();
}
5.测试
这个方法能用不,在主模块中调用测试:需要在build.gradle(Moudle app)中的dependencies添加如下代码:
implementation project(':library')
6.调用方法:
7.运行
8.添加maven-publish
如果实现上图效果说明library没有问题,在build.gradle(library)中添加如下代码:
plugins {
id 'com.android.library'
id 'maven-publish'
}
...省略....
group='com.github.zhengshaomin'
version ='1.0.0'
afterEvaluate {
publishing {
publications {
release(MavenPublication) {
from components.release
groupId 'cn.zsmupdatex.test'
artifactId 'ZsmTest'
version '1.0.0'
// from components.release
}
}
}
}
如图:
第一步就完成了。
二、配置github仓库
1.新建仓库
打开自己的github主页如图:New
2.创建仓库
3.创建完成
create
这里就创建完成了,可以自行clone相关文件(可忽略,后期一样可操作)。
三、配置ssh密钥
1.打开终端
首先打开源码所在文件夹位置的终端,如图
2.初始化git
git init
如图:
3.创建ssh密钥
替换成自己的github注册邮箱
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
接着输入id_rsa后会输入两次电脑开机密码,然后ssh创建成功
id_rsa
如图:
4.配置ssh密钥
执行命令(配置时会输一次电脑密码)
eval "$(ssh-agent -s)"
ssh-add id_rsa
如图:
5.添加到github
先打开id_rsa.pub文件查看密钥并复制(方法多种多样,我用命令打开)
cat id_rsa.pub
如图复制密钥
复制成功后打开github个人主页setting添加sshkey
如图:将复制的密钥添加进去
好了ssh也配置完成了
四、上传源码
1.复制ssh地址
复制完成后还是在终端执行命令操作
2.添加暂存
将当前目录下的所有修改过的文件添加到 Git 的暂存区
git add .
3.连接远程仓库
git remote add origin1 git@github.com:zhengshaomin/ZsmTest.git
4.检测连接
ssh -T git@github.com
2.3.4操作如图:
5.上传源码
提交当前所有已暂存的更改并添加提交消息
git commit -m "first"
提交
git push -f origin1 main
操作如图:(我这里是第二次方便截图上传的是删除ssh密钥操作,所以结果有点不一样不影响)
上传源码就结束了
五、发布库
1.创建release版本
创建1.0.0版本标题
发布release
2.复制仓库地址,
打开jitpack.io粘贴你的项目 look up
3.git it
这里会自动帮你构建测试,Log输出为绿色则成功,红色则失败,可点击Log文件查看具体失败原因
4.完成
开发一个安卓第三方库不仅仅是技术上的挑战,更是一项对移动应用开发社区的贡献。通过分享自己的经验和技能,可以推动整个行业的发展,让更多的开发者受益。在本文中,我们讨论了开发安卓第三方库的全过程,从项目创建到发布和维护。希望读者通过本文所提供的指导和技巧,能够更加自信和高效地开发自己的库,并将其分享给全球的安卓开发社区。
有任何问题欢迎在评论区指正,也可以一起交流学习!