通过JitPack发布Android Library

通过JitPack发布Android Library

烦恼

相信大家在刚接触Gradle的时候都被其使用依赖库的方式折磨过,在Gradle中配置依赖库确实非常简单,可是一旦出了什么问题就会很懵逼。明明是按人家的开发文档进行配置的,却老是报错,这时候如果对Gradle的依赖机制不够了解的话就不知道该怎么去处理了,能不能依赖成功全看老天的心情了。对于一个不怎么有追求的程序猿来说,一定会想去探个究竟的,看看到底是哪里出问题了。当然,在这之前必然要知道当你在dependencies节点下配置了一个依赖库,并点sync按钮之后,Gradle都干了些啥,为啥正常情况下sync之后你就能使用那个库了?为了搞清楚这个过程,首先当然是google了,可是并没有找到理想的答案,搜出来的都是如何如何配置依赖库,也许是关键词没选好。为此我想到了另一种办法,就是自己去jCenter或其它地方发布一个aar,然后从工程中来引用它,也许会对gradle的依赖机制了解得更清楚。做准备工作的时候发现在Maven中央库或jCenter库发布东西很麻烦,我就想着能不能找个在国内的Maven仓库上发布,找来找去都没找到,最后发现了JitPack。

JitPack介绍

JitPack是什么?就是一个Maven仓库,我们可以在上面发布自己的sdk供别人使用。

什么又是Maven仓库?嗯。。。这个这个。。。那个那个。。。。。(还是自己搜一下吧,扯出来又是一大片)

一开始在官网看使用说明的时候,看起来好像很简单,可仔细想想又不对,这都是啥呀,说来说去都是如何配置工程。压根没提配置完了要干什么。后来看了看国内人家的博客并通过自己的试验才基本知道了其工作流程:

  1. 先根据说明配置自己的工程
  2. 然后上传到GitHub的releash分支
  3. https://jitpack.io/上输入 https://github.com/User/项目名 进行查找
  4. JitPack会自动找到releash中的工程并进行构建,如果构建成功会告诉你输出文件的目录,并告诉你怎么引用这些文件,如果构建失败了可以看log看看是哪里出问题了,然后修复,在github的releash分支重新发布,再回到第3步进行查找,JitPack又会重新构建一次。

了解了这个流程后,接下来的事就好办了,因为目标明确了嘛,并且配置起来确实也很简单。

详细发布流程

一、创建一个Library工程

这个相信不必多说了

二、配置project的build.gradle文件
buildscript {

    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
        classpath 'com.github.dcendents:android-maven-gradle-plugin:2.0' // 添加这一行

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}
三、配置library的build.gradle文件
apply plugin: 'com.android.library'

// 添加以下两行
apply plugin: 'com.github.dcendents.android-maven'
group='com.github.MingHuang1024'

group的名字可以随便取。

四、push到github,并发布release版本

接下来会让你填版本号之类的信息,填完后点Publish release按钮,这样release版本就发布好了,接下来到第5步。

五、在JitPack官网上查找你的项目

打开JitPack官网:https://jitpack.io/

在搜索框输入GitHub上项目的地址,然后点击Look up,JitPack会自动构建GitHub上的工程,当你的项目构建成功之后就将lib库发布完成了,接下来就看看如何引用你发布的东西了。

六、如何引用

第5步中如果构建成功,点击 get it 按钮,将会看到如何引用构建好的aar包

图中已经说的很明白了,要如何在gradle中配置。

这时再回到本文最初的疑惑中来,看看为什么这样配置就能引用到远程的aar,首先看下打出来的aar放在什么地方

上图看到的路径是相对路径,绝对路径要在前面加上 “https://jitpack.io/“,也就是对应 Step 1 中的这行配置

maven { url 'https://jitpack.io' }

Step 2 中的那行配置肯定就是后面的相对路径了,只是按照Maven的规则表示出来。现在应该可以很好地理解gradle是怎么进行依赖了,就是按照配置的路径去网上下载所需要的资源,然后将项目的Build Path指向下载下来的资源所在位置。

最后,上源码:

demo源码:https://github.com/MingHuang1024/jitpackdemo

master分支是Library,就是要发布的库,

test分支是一个测试工程,从远程引用发布的库。



由于水平有限,如果文中存在错误之处,请大家批评指正,欢迎大家一起来分享、探讨!

博客:http://blog.csdn.net/MingHuang2017

GitHub:https://github.com/MingHuang1024

Email: MingHuang1024@foxmail.com

微信:724360018

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android 库项目中创建一个广播接收器(Receiver)可以让你监听和处理各种系统级或应用级的广播事件。通过广播接收器,你可以接收和响应来自系统或其他应用发送的广播消息,并执行相应的操作。 要在 Android 库项目中创建一个广播接收器,可以按照以下步骤进行操作: 1. 创建一个 Java 类,并让它继承自 BroadcastReceiver。这个类将成为你的广播接收器。 ```java public class MyReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { // 在这里处理接收到的广播事件,执行相应的操作 } } ``` 2. 在广播接收器的 onReceive() 方法中,编写你想要执行的操作。可以根据接收到的广播事件的类型和数据,做出相应的处理逻辑。 3. 在 AndroidManifest.xml 文件中声明广播接收器。在 <application> 标签内添加一个 <receiver> 标签,并设置相应的属性,例如 android:name 和 android:exported。 ```xml <receiver android:name=".MyReceiver" android:exported="true"> <intent-filter> <!-- 在这里指定你想要接收的广播事件 --> <action android:name="android.intent.action.BOOT_COMPLETED" /> </intent-filter> </receiver> ``` 4. 在 <intent-filter> 标签内使用 <action> 标签指定你想要接收的广播事件。可以根据需要添加多个 <action> 标签,以监听多个广播事件。 通过以上步骤,你就可以在 Android 库项目中创建一个广播接收器,并在 AndroidManifest.xml 中声明接收的广播事件。当相应的广播事件发生时,你的广播接收器将会被触发执行相应的操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值