Android发布开源控件到jitpack给他人使用

一、发布开源库

1、新建一个Project,我这里命名为SpeedView,输入包名后finish
2、在工程根目录上右键新建一个Module,选择Android Library,输入Module name和Package name
在这里插入图片描述
3、在包下面新建SpeedView类,把写好的自定义控件代码复制粘贴过来
4、检查下是否在Android Studio里配置过github账号信息,如果没配置的话,点击图中右上角的加号添加即可,具体位置如下图所示
在这里插入图片描述
5、把代码共享到github平台
在这里插入图片描述
6、输入Repository name,点击Share后再点击Add即可耐心等待共享完成
在这里插入图片描述
在这里插入图片描述
7、使用浏览器打开项目地址: https://github.com/xmliu/SpeedView ,点击releases,发现releases为空,再点击create a new release
在这里插入图片描述
在这里插入图片描述
输入版本号、名字、描述等相关信息,点击下方的Publish release即可发布成功
在这里插入图片描述
发布成功后可看到如下图所示内容
在这里插入图片描述
8、打开jitpack,在输入框中输入xmliu/speedview,点击Look up按钮,可以看到有哪些版本
在这里插入图片描述
由于目前刚发布第一版,所以只有一个版本,点击右侧的Get it按钮,即可在下方看到使用方法
在这里插入图片描述
9、如果要更新开源控件版本,比如说从1.0.0 升级到 1.0.5,同样的操作,先把更新后的代码push到github上,然后去添加一个release,之后操作同上

二、使用案例

1、项目build.gradle中添加 maven jitpack

allprojects {
    repositories {
        google()
        jcenter()
        maven { url 'https://jitpack.io' }
    }
}

2、Module build.gradle中添加依赖

    implementation 'com.github.xmliu:speedview:1.0.0'

3、xml布局中添加控件

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <cn.xmliu.speedview.SpeedView
        android:id="@+id/speedView"
        android:layout_centerInParent="true"
        android:layout_width="300dp"
        android:layout_height="180dp"/>

</RelativeLayout>

4、主类中使用

package cn.xmliu.myapplication

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_main.*

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        speedView.setCurSpeed(38)
    }
}

5、效果图
在这里插入图片描述

三、参考博文

  1. Android 上传自己的依赖库让别人使用

猜你喜欢

转载自blog.csdn.net/diyangxia/article/details/106529911