【问题标题】:Android : Create AAR with dependentant library ProjectsAndroid:使用依赖库项目创建 AAR
【发布时间】:2017-05-20 07:06:40
【问题描述】:

我们正在创建一个包含以下模块的 SDK 项目 [其依赖项如下所述]

  • 应用 [Android 应用]
  • Dev-sdk [Android 库]
  • Dev-sdk1 [Android 库]
  • Dev-sdk2 [Android 库]

应用程序(build.gradle)

dependencies {
    compile project(path: ':Dev-sdk')
}

Dev-sdk (build.gradle)

dependencies {
    compile project(path: ':Dev-sdk1 ')
}

Dev-sdk1 (build.gradle)

dependencies {
    compile project(path: ':Dev-sdk2')
}

Dev-sdk2 (build.gradle)

dependencies {
    // No Dependencies
}

当我尝试为“Dev-sdk”创建 aar 时,它没有包含依赖项。

有什么方法可以为模块 Dev-sdk 及其所有依赖项创建 AAR 吗?

【问题讨论】:

  • 据我所知,您不能将 aar 包含在 aar 中。您可能必须将所有代码从Dev-sdk1 剥离为Dev-sdk。或者你可以将Dev-sdk1上传到bintraymaven central,然后在Dev-sdk的gradle中添加依赖。

标签: android android-gradle-plugin aar


【解决方案1】:

我认为您不能按照您希望在项目中执行的方式添加依赖项。 aar 没有配置文件来说明他们需要什么依赖项。您可以执行以下操作之一:

  1. 将代码从Dev-sdk1 剥离为Dev-sdk。由于您是您正在使用的所有SDKs 的开发者,因此此选项更适合您。
  2. 或尝试将Dev-sdk1 上传到Maven central repositoryBintray。这样,将在他的项目中包含 Dev-sdk 的人将能够轻松地添加对 Dev-sdk1 的依赖项,例如 compile abc.fgh.jik:version

【讨论】:

    【解决方案2】:

    aar 文件不包含传递依赖项。
    它也没有描述依赖关系的 pom 文件。

    另一种方法是在 ma​​ven 存储库(公共或私有)中发布库。在这种情况下,带有 pom 文件的 Gradle 也能够下载依赖项。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-11-11
      • 1970-01-01
      • 2017-05-14
      • 1970-01-01
      • 2018-04-02
      • 2014-06-01
      • 2016-07-10
      相关资源
      最近更新 更多