一、前言
Jitpack是一个基于Github项目的自动化构建、发布jar包的工具。它比较方便,只需要在Github上发布代码,并在Jitpack上打个tag,就可以自动构建、发布jar包。它可以帮助我们在发布Java库时,方便地将代码打包成jar或者aar,方便我们进行开发和维护。下面,将详细讲解如何使用Jitpack发布开源Java库的详细流程。
二、发布Java库的准备工作
1.创建Github仓库并上传代码。我们需要在Github上创建一个仓库,并将我们的Java代码上传到仓库中。在这里,以一个名为“mylibrary”的Java库举例,我们需要在Github上创建一个名为“mylibrary”的仓库,并将Java代码上传到该仓库。
2.在build.gradle中加入maven插件并配置上传任务。在我们的Java库的build.gradle文件中,需要引入maven插件,才能够将Java代码打包成jar包,并上传到指定的maven仓库中。在这里,我们需要添加以下代码:
apply plugin: 'maven'
uploadArchives {
repositories.mavenDeployer {
repository(url: "file:/${System.getProperty('user.home')}/.m2/repository/")
}
}
这里的uploadArchives就是我们要执行上传任务的名称,repositories.mavenDeployer是指定我们上传到Maven仓库的类型,此处设置为本地文件系统仓库;repository.url就是指定我们打包后要上传的目标路径,此处指定为Maven默认仓库下的根路径。
3.打上tag。在我们的Java库的仓库中,我们需要打一个tag来标志我们的发布版本,以便Jitpack能够将其识别并打包发布。在这里,我们可以使用git命令来打tag:
git tag -a v1.0 -m "Release v1.0"
git push --tags
这里的v1.0就是我们要打的tag的名称,-m参数是tag的注释信息,我们可以根据自己的需求填写,git push --tags命令则是将我们的tag推送到远程仓库中。
三、在Jitpack上发布Java库
1.访问Jitpack官网。我们需要访问Jitpack官网,地址是:https://jitpack.io/
2.在输入框中输入Github仓库地址。在Jitpack官网上,我们需要在输入框中输入我们的Github仓库地址,格式为:https://github.com/用户名/仓库名。
3.点击“Look up”按钮进行查询。输入Github仓库地址后,点击页面上的“Look up”按钮进行查询。
4.选择要发布的版本。在查询结果中,我们可以看到我们刚刚打的tag已经被Jitpack识别到了。我们只需要选择要发布的版本,即可发布Java库。
5.等待发布完成。在选择要发布的版本后,我们只需要等待Jitpack进行自动构建和发布了。
四、引用发布的Java库
1.在项目的build.gradle文件中加入依赖。我们需要在我们的项目中引入刚刚发布的Java库,才能够使用它提供的功能。在项目的build.gradle文件中,我们需要加入以下代码:
repositories {
maven {
url "https://jitpack.io"
}
}
dependencies {
implementation 'com.github.用户名:仓库名:版本号'
}
这里的com.github.用户名:仓库名:版本号就是我们刚刚发布的Java库在Jitpack上对应的地址。
2.使用Java库的功能。在我们在项目中引入Java库后,就可以开始使用Java库提供的功能了。我们只需要在我们的Java代码中引入Java库提供的类,然后调用它的方法即可。
示例1:发布一个简单的Java库
以下是一个简单的Java库发布的示例,我们假设我们的Java库仅提供了两个方法,分别是add()和sub(),可以实现两个数的加减运算:
1.上传代码
首先,我们需要将自己的Java代码上传到Github中,假设我们将其上传到了一个名为“mylibrary”的仓库中。
2.配置build.gradle
在我们的Java库的build.gradle文件中,必须添加以下代码:
apply plugin: 'maven'
uploadArchives {
repositories.mavenDeployer {
repository(url: "file:/${System.getProperty('user.home')}/.m2/repository/")
}
}
3.打tag
在我们的Java库中,我们需要打一个tag来标志我们的发布版本,以便Jitpack能够将其识别并打包发布。我们可以使用git命令来打tag:
git tag -a v1.0 -m "Release v1.0"
git push --tags
4.发布到Jitpack
访问Jitpack官网,输入我们的Github仓库地址,并选择要发布的版本。
5.在项目中引入Java库
在我们的项目的build.gradle文件中,必须添加以下代码:
repositories {
maven {
url "https://jitpack.io"
}
}
dependencies {
implementation 'com.github.用户名:仓库名:版本号'
}
6.示例代码
我们假设我们在项目中使用了这个Java库,我们可以这样写代码:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
int a = 10;
int b = 20;
Log.d("MainActivity", "a + b = " + MyUtil.add(a, b));
Log.d("MainActivity", "a - b = " + MyUtil.sub(a, b));
}
}
示例2:发布一个Android库
以下是一个Android库发布的示例,我们假设我们要发布一个自定义的ImageView,在其中添加了一个名为setCircleImage()方法,可以将ImageView设置为圆形。
1.上传代码
首先,我们需要将自己的Android代码上传到Github中,假设我们将其上传到了一个名为“myimgview”的仓库中。
2.配置build.gradle
在我们的Android库的build.gradle文件中,必须添加以下代码:
apply plugin: 'com.android.library'
apply plugin: 'maven'
android {
compileSdkVersion 28
defaultConfig {
minSdkVersion 21
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
uploadArchives {
repositories.mavenDeployer {
repository(url: "file:/${System.getProperty('user.home')}/.m2/repository/")
}
}
在这里,我们需要添加com.android.library插件,并且添加上传任务。注意,这里的build.gradle文件必须是Android库的build.gradle,而不是普通Java库的build.gradle。
3.打tag
在我们的Android库中,我们需要打一个tag来标志我们的发布版本,以便Jitpack能够将其识别并打包发布。我们可以使用git命令来打tag:
git tag -a v1.0 -m "Release v1.0"
git push --tags
4.发布到Jitpack
访问Jitpack官网,输入我们的Github仓库地址,并选择要发布的版本。
5.在项目中引入Android库
在我们的项目的build.gradle文件中,必须添加以下代码:
repositories {
maven {
url "https://jitpack.io"
}
}
dependencies {
implementation 'com.github.用户名:仓库名:版本号'
}
6.示例代码
我们假设我们在项目中使用了这个Android库,我们可以这样写代码:
<?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"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.example.myimgview.MyImageView
android:layout_width="100dp"
android:layout_height="100dp"
android:src="@mipmap/ic_launcher"
app:circle="true" />
</RelativeLayout>
注意,在这里我们需要引用的是我们自定义ImageView的全类名,而不是Android原生的ImageView,即:com.example.myimgview.MyImageView。同时,我们添加了一个名为circle的自定义属性,它的值为true时,表示将ImageView设置为圆形。
这里的MyImageView的具体实现方式,可以参考官方文档:https://developer.android.com/guide/topics/ui/custom-components
总结:使用Jitpack发布开源Java库是一件方便快捷的事情。通过使用Jitpack,我们可以将Java代码打包成jar或者aar,并上传到网络中,供其他人使用。具体的发布流程包括:上传代码、在build.gradle中配置maven插件和上传任务、打tag、发布到Jitpack等步骤。同时,本文提供了两个实际的Java库发布的示例,供读者参考。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用Jitpack发布开源Java库的详细流程 - Python技术站