当前位置: 首页 > 知识库问答 >
问题:

Maven中的传递AAR依赖关系

莫泓
2023-03-14

我正在从一个使用Android-Maven-Plugin的Maven项目中构建一个Android应用程序。在这个项目中,我使用了新的beta版数据绑定库。

它包含在Android SDK的本地m2repository中(extras/Android/m2repository)。这个存储库中的库打包为AAR类型。

    <dependency>
        <groupId>com.android.databinding</groupId>
        <artifactId>library</artifactId>
        <version>1.0-rc1</version>
        <type>aar</type>
    </dependency>

附注:对于我自己的本地构建,我有几个解决方案(例如重新打包为jar),但我更喜欢一个更通用的解决方案,因为我希望在maven原型中共享配置,并且我不希望要求用户做大量的手工工作。现在这是我最好的解决办法:

    <dependency>
        <groupId>com.android.support</groupId>
        <artifactId>support-v4</artifactId>
        <version>21.0.3</version>
        <scope>system</scope>
        <systemPath>${android.sdk.path}/extras/android/support/v4/android-support-v4.jar</systemPath>
    </dependency>

但这并不是真的很好,传递依赖关系解决为aar会好得多。

共有1个答案

章德惠
2023-03-14

好的,找到解决办法了。我可以排除依赖项,并将其直接添加为类型'aar':

      <dependency>
        <groupId>com.android.support</groupId>
        <artifactId>support-v4</artifactId>
        <version>21.0.3</version>
        <type>aar</type>
    </dependency>

    <dependency>
        <groupId>com.android.databinding</groupId>
        <artifactId>library</artifactId>
        <version>1.0-rc1</version>
        <type>aar</type>
        <exclusions>
            <exclusion>
                <groupId>com.android.support</groupId>
                <artifactId>support-v4</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
 类似资料:
  • 主要内容:依赖传递,依赖范围,依赖范围对传递依赖的影响,依赖调节Maven 依赖传递是 Maven 的核心机制之一,它能够一定程度上简化 Maven 的依赖配置。本节我们将详细介绍依赖传递及其相关概念。 依赖传递 如下图所示,项目 A 依赖于项目 B,B 又依赖于项目 C,此时 B 是 A 的直接依赖,C 是 A 的间接依赖。 Maven 的依赖传递机制是指:不管 Maven 项目存在多少间接依赖,POM 中都只需要定义其直接依赖,不必定义任何间接依赖,Mav

  • 理想情况下,在我的maven项目中,我只需要https://gist.github.com/kameshsampath/8a4bdc8b22d85bbe3f243fa1b816e464#file-src_main_build-l8-l9,尽管generate_workspace.bzl已经正确地解决了问题,如果我的src/main/build看起来像 但遗憾的是,这会导致大量编译错误,因为传递性D

  • 我正在使用android Studio V1.5构建工具23.0.2和gradle V2.8构建一个android应用程序。此ADT包于2016年1月下载。我的应用程序依赖于ustilies.aar。它被添加到应用程序的build.gradle中,使用网页中的代码片段,如下所示 Android Studio没有显示任何错误。它编译成一个apk fine,但当我运行它时,该应用程序立即崩溃,。 gr

  • 在应用中,您希望使用不同的类来处理不同的任务以保持代码的简洁。我们把这些类称为 依赖。如何将这些依赖关系传递给将在后台任务调用的方法呢? 当您在后台任务中调用静态方法时,仅限于应用程序的静态上下文,这需要您使用以下获取依赖关系的模式: 通过 new 手动实例化依赖 服务定位器模式 抽象工厂模式 或 建设者模式 单例模式 然而,所有这些模式使您的应用程序的单元可测试性方面变得非常复杂。为了解决这个问

  • 本文向大家介绍DBMS中的传递依赖,包括了DBMS中的传递依赖的使用技巧和注意事项,需要的朋友参考一下 什么是传递依存关系 当间接关系引起功能依赖性时,称为传递依赖性。 如果P-> Q且Q-> R为真,则P-> R为传递依赖。 要实现3NF,请消除传递依赖性。 示例 <电影列表> Movie_ID Listing_ID Listing_Type DVD_价格($) M08 L09 犯罪 180 M

  • 问题内容: 我调查了一段时间,可能在这里看到了与aar和可传递依赖项有关的最受欢迎的答案,但是对于我来说,如何使它起作用仍然不清楚。 所以: 我有给定gradle配置的android库: 然后,我将其部署到本地Maven存储库gradle install。部署库的POM文件如下所示: 最后使用上述库作为依赖项对我的Android应用程序进行配置: 在手机上部署应用程序后,我得到了属于我的Andro