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

How does publishing android libraries that can be imported easily by other people work?

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

   dependencies {
       compile 'com.squareup.retrofit:retrofit:1.9.0'
   }

这是如何工作的?库从哪里来?一般而言,我将如何发布库以便其他人可以像这样导入它?

注意:这不是 Publish jar library to bintray using gradle/publish-jar-library-to-bintray-using-gradle 的副本。这个问题是问一个关于发布库的特定方式的具体问题。

很多问题都在 tutorial 中得到了回答。

How does this work?

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

Where does the library come from?

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

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

repositories {
    jcenter()
}

这会告诉 gradle 在尝试导入 com.squareup.retrofit:retrofit:1.9.0 时应该查看的位置。

In general terms, how would I go about publishing a library so that other people can import it like this?

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

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