如何创建自己的android库并托管它

Rya*_*som 27 java api android packaging code-sharing

我正在创建一个登录屏幕,用于多个不同的Android应用程序.打包它的最佳方法是什么,以便其他人可以在他们的应用程序上使用我的登录功能.在我们进行更改的情况下,它最好是自动同步它们.***编辑****似乎将它打包成库模块是最好的选择.如何上传这个模块,以便如果我们对这个模块进行更新,它将无缝更新,而无需从github中取出.

谢谢!

And*_*ejs 19

如果您已将代码推送到GitHub,那么使用JitPack可以轻松共享库(aar).

您的用户只需要将存储库添加到他们的build.gradle:

repositories {
    jcenter()
    maven { url "https://jitpack.io" }
}
Run Code Online (Sandbox Code Playgroud)

然后你的GitHub存储库作为依赖:

dependencies {
    // ...
    compile 'com.github.YourUsername:Repo:Release'
}
Run Code Online (Sandbox Code Playgroud)

好消息是你不必上传你的图书馆.在幕后,JitPack将检查GitHub中的代码并进行编译.当您在GitHub上发布新版本时,其他人可以使用它.

还有一个关于如何准备Android项目的指南.


Ran*_*niz 5

将相关的类放入库模块 - 您似乎已经知道如何做 - 然后使用Gradle Bintray插件将其上载到JCenter.

假设您groupbuild.gradle中设置为com.ryan-newsom,version1.0,项目名称为android-log-in-screen.

(部分)android-log-in-screen/build.gradle:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath "com.jfrog.bintray.gradle:gradle-bintray-plugin:0.6"
    }
}

apply plugin: 'com.jfrog.bintray'

group = 'com.ryan-newsom'
version = '1.0'

bintray {
    // Omitted for brevity, refer to the examples on GitHub.
}
Run Code Online (Sandbox Code Playgroud)

您(或其他任何人)可以通过添加以下内容在您的项目中使用它:

(part)other-project/build.gradle:

repositories {
    jcenter()
}

dependencies {
    compile "com.ryan-newsom:android-log-in-screen:1.0"
}
Run Code Online (Sandbox Code Playgroud)

然后,库将从JCenter中提取并添加到类路径中.