美文网首页
如何发布你的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