繁体   English   中英

Gradle / Maven-加载aar依赖项时出错

[英]Gradle/Maven - Error loading aar dependency

我正在将aar文件发布到内部Maven存储库中,但是当我尝试像这样引用它时:

dependencies {
    compile 'com.example.android:example-api:0.3-SNAPSHOT'
}

我收到以下错误:

A problem occurred configuring project ':sdk-sample'.
> Artifact 'com.example.android:example-api:0.3-SNAPSHOT:example-api.jar' not found.

这让我感到困惑,因为我没有上传的jar文件,而是aar。

gradle生成并上传的POM文件如下所示:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.example.android</groupId>
    <artifactId>example-api</artifactId>
    <version>0.3-SNAPSHOT</version>
    <packaging>aar</packaging>
    <dependencies>
        <dependency>
            <groupId>org.springframework.android</groupId>
            <artifactId>spring-android-rest-template</artifactId>
            <version>1.0.1.RELEASE</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.2.4</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.squareup.okhttp</groupId>
            <artifactId>okhttp</artifactId>
            <version>1.3.0</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.android</groupId>
            <artifactId>spring-android-core</artifactId>
            <version>1.0.1.RELEASE</version>
            <scope>compile</scope>
        </dependency>
    </dependencies>
</project>

如果我这样引用它:

dependencies {
    compile 'com.example.android:example-api:0.3-SNAPSHOT@aar'
}

然后,它会成功找到它,但是依赖项没有正确下载,当我调用使用依赖项的方法时,在运行时出现NoClassDefFoundError。

知道发生了什么吗?

需要根据您的依赖性将可传递属性设置为true

compile ('com.example.android:example-api:0.3-SNAPSHOT@aar') { transitive = true }

对于aar依赖项,可能应该在Gradle中将其默认更改为true (因为似乎对于jar )。

我有同样的问题。 在依赖项上附加“ @aar”对我来说已经解决了。 现在编译并运行没有问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM