美文网首页
如何发布你的GitHub开源库

如何发布你的GitHub开源库

作者: 飞雪祭 | 来源:发表于2017-10-05 17:41 被阅读0次

如果你想在Android Studio中引入一个library到你的项目,你只需添加如下的一行代码到模块的build.gradle文件中。

dependencies {
    compile 'com.github.xuerui1993:AutoViewPagerLibrary:v1.3'
}

就是如此简单的一行代码,你就可以使用这个library了。

酷呆了。不过你可能很好奇Android Studio是从哪里得到这个library的。这篇文章将详细讲解这是怎么回事,包括如何把你的库发布出去分享给世界各地的其他开发者,这样不仅可以让世界更美好,还可以耍一次酷。

Android studio 是从哪里得到库的?

先从这个简单的问题开始,我相信不是每个人都完全明白Android studio 是从哪里得到这些library的。莫非就是Android studio 从google搜索然后下载了一个合适的给我们?

呵呵,没那么复杂。Android Studio是从build.gradle里面定义的Maven 仓库服务器上下载library的。Apache Maven是Apache开发的一个工具,提供了用于贡献library的文件服务器。总的来说,只有两个标准的Android library文件服务器:jcenter 和 Maven Central。

jcenter

jcenter是一个由 bintray.com维护的Maven仓库 。你可以在这里看到整个仓库的内容。

我们在项目的build.gradle 文件中如下定义仓库,就能使用jcenter了:

allprojects {
    repositories {
        jcenter()
    }
}

Maven Central

Maven Central 则是由sonatype.org维护的Maven仓库。你可以在这里看到整个仓库。

注:不管是jcenter还是Maven Central ,两者都是Maven仓库

我们在项目的build.gradle 文件中如下定义仓库,就能使用Maven Central了:

allprojects {
    repositories {
        mavenCentral()
    }
}

注意,虽然jcenter和Maven Central 都是标准的 android library仓库,但是它们维护在完全不同的服务器上,由不同的人提供内容,两者之间毫无关系。在jcenter上有的可能 Maven Central 上没有,反之亦然。

除了两个标准的服务器之外,如果我们使用的library的作者是把该library放在自己的服务器上,我们还可以自己定义特有的Maven仓库服务器。Twitter的Fabric.io 就是这种情况,它们在https://maven.fabric.io/public上维护了一个自己的Maven仓库。如果你想使用Fabric.io的library,你必须自己如下定义仓库的url。

repositories {
    maven { url 'https://maven.fabric.io/public' }
}

然后在里面使用相同的方法获取一个library。

dependencies {
    compile 'com.crashlytics.sdk.android:crashlytics:2.2.4@aar'
}

这里向大家推荐一个免费的仓库服务器,JitPack,同理需要定义jitpack的服务器地址

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

然后在app的build.gradle文件下配置

dependencies {
    compile 'com.github.xuerui1993:AutoViewPagerLibrary:v1.3'
}

这就是为什么很多github开源库上需要加上这一行配置了。

了解aar文件

aar文件时在jar文件之上开发的。之所以有它是因为有些Android Library需要植入一些安卓特有的文件,比如AndroidManifest.xml,资源文件,Assets或者JNI。这些都不是jar文件的标准。

因此aar文件就时发明出来包含所有这些东西的。总的来说它和jar一样只是普通的zip文件,不过具有不同的文件结构。jar文件以classes.jar的名字被嵌入到aar文件中。其余的文件罗列如下:

  • /AndroidManifest.xml (mandatory)
  • /classes.jar (mandatory)
  • /res/ (mandatory)
  • /R.txt (mandatory)
  • /assets/ (optional)
  • /libs/*.jar (optional)
  • /jni/<abi>/*.so (optional)
  • /proguard.txt (optional)
  • /lint.jar (optional)

可以看到.aar文件是专门为安卓设计的。在AndroiStudio中你创建一个Libaray项目,就会自动创建一个arr文件了

上传你的项目到开源库

  1. 首先你得将你的项目变成Libaray类型的,然后发布到GitHub上.这里我就不多少怎么发布到github上了.
    2.打开你的GitHub项目,生成Release文件
1507191077(1).jpg 1507191161(1).jpg

3.填写版本号,和一些描述信息

1507191288(1).jpg

4.发布完成后,打开https://jitpack.io/,然后输入你的github项目地址

1507196171(1).jpg

5.得到你的项目的服务器地址

1507191532(1).jpg

6.按照上面的操作,你就可以在你的项目中添加依赖使用了

相关文章

网友评论

      本文标题:如何发布你的GitHub开源库

      本文链接:https://www.haomeiwen.com/subject/zokkyxtx.html