【问题标题】:How can I use the dependency of the aar in Android Studio?如何在 Android Studio 中使用 aar 的依赖关系?
【发布时间】:2015-07-22 06:55:55
【问题描述】:

我在 Android Studio 项目中使用 aar 包时遇到问题。 昨天我写了一个 Android Studio 库,叫做xEditText,添加了这样的依赖:

编译com.nineoldandroids:library:2.4.0

然后我将此库构建为 aar 包。 当我像这样在我的项目中使用这个 aar 包时:

编译xEditText-release

然后运行,我发现它崩溃了,这是一个'Error inflating class'错误。后来我得到了答案,当我在我的项目中添加编译时是这样的:

编译com.nineoldandroids:library:2.4.0

运行良好。

但我不知道为什么我必须再次将我的库中编译的依赖项com.nineoldandroids:library:2.4.0 编译到我的项目中?

【问题讨论】:

    标签: android android-studio aar


    【解决方案1】:

    但我不知道为什么我必须将我的库中编译的依赖项(com.nineoldandroids:library:2.4.0)再次编译到我的项目中?

    因为xEditText 是一个库,所以nineoldandroids 成为任何使用xEditText 的项目的传递依赖。默认情况下,输出aar文件中不包含传递依赖项。

    您可以通过指定 nineoldandroid 应包含在 xEditText 中来解决此问题,如下所示:

    compile ('com.nineoldandroids:library:2.4.0') {
        transitive = true
    }
    

    【讨论】:

    • 非常感谢。我是Android开发的新手。我按照你说的尝试了但效果不佳。是不是因为我的aar包是在'debug-mode'下输出的?我不知道为什么'outputs--aar'文件夹中只有xEditText-debug.aar。如何生成发布类型aar-package?
    • 你把'transitive = true'放在哪里——在xEditText模块内,还是在应用程序模块内?
    【解决方案2】:

    您可以将 aar 文件添加为模块: 文件 -> 新建 -> 新模块 -> 导入 .JAR 或 .AAR 包。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-10
      • 2021-09-26
      • 2018-07-02
      • 2016-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-14
      相关资源
      最近更新 更多