gpt4 book ai didi

android - Maven 中的传递 AAR 依赖项

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:36:22 25 4
gpt4 key购买 nike

我正在从一个使用 android-maven-plugin 的 Maven 项目构建一个 Android 应用程序。在这个项目中,我使用了新的 beta 数据绑定(bind)库。

它包含在 Android SDK 的本地 m2repository (extras/android/m2repository) 中。此存储库中的库被打包为 aar 类型。

我可以像这样在我的 pom 中添加依赖项:

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

这似乎可行,但构建失败了:

无法在项目演示上执行目标:无法解析项目 com.simpligility.android:demo:apk:1.0.0 的依赖项:无法在中找到 com.android.support:support-v4:jar:21.0.3 file:///Users/eppleton/Java Libraries/android-sdk-macosx/extras/android/m2repository 被缓存在本地存储库中,在 android-local-extras 的更新间隔结束或更新结束之前不会重新尝试解析强制 -> [帮助 1]

这个本地存储库中没有 support-v4:jar 是正确的,因为 API 版本 20 有 support-v4:aar。

有没有办法让 maven 寻找 aar 而不是 jar?

P.s.:对于我自己的本地构建,我有几种解决方法(例如重新打包为 jar),但我更喜欢更通用的解决方案,因为我想在 maven 原型(prototype)中共享配置,并且我不想要求用户需要做大量的手工工作。现在这是我拥有的最佳解决方案:

    <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 会好得多。

最佳答案

好的,找到解决方案了。我可以排除依赖项,然后直接将其添加为“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>

关于android - Maven 中的传递 AAR 依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32022842/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com