如何发布可以被其他人轻松导入的android库?

Jus*_*ins 5 android gradle android-library android-gradle-plugin

可以通过gradle轻松使用第三方库.例如,以下内容允许我在我的应用程序中使用Retrofit.

   dependencies {
       compile 'com.squareup.retrofit:retrofit:1.9.0'
   }
Run Code Online (Sandbox Code Playgroud)

这是如何运作的?图书馆来自哪里?一般而言,我如何发布图书馆以便其他人可以像这样导入它?

注意:这不是使用gradle / publish-jar-library-to-bintray-using-gradle发布jar库复制bintray.这个问题是关于发布图书馆的一种特殊方式的问题.

Bri*_*ell 4

本教程中回答了很多问题。

这是如何运作的?

Gradle 从 Maven 存储库导入库。Maven 存储库可以包含常规 .jar 文件和常规 .aar 文件。

图书馆从哪里来?

默认情况下,新版本的 Android Studio 从 JCenter 导入。JCenter 是由 Bintray 公司运行的 Maven 存储库。

如果您查看 Android Studio 项目build.gradle,您将看到以下几行

repositories {
    jcenter()
}
Run Code Online (Sandbox Code Playgroud)

这告诉 gradle 在尝试导入时应该查看哪里com.squareup.retrofit:retrofit:1.9.0

一般来说,我将如何发布一个库以便其他人可以像这样导入它?

由于 Bintray 拥有 JCenter,因此您需要创建一个 Bintray 帐户才能上传到 JCenter。与 Maven Central(Android Studio 过去使用的默认 Maven 存储库)相比,Bintray 的网站非常易于使用。

在 Android Studio 中创建普通的库模块后,您需要手动调整库模块的build.gradle文件,以便为 Maven 配置它。最后,您使用预先烘焙的脚本将所有内容上传到 Bintray。