簡體   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