本地 AAR 文件不管理依赖项

Local AAR file doesn't manage dependencies

我开发了一个使用 Retrofit 和 Joda DateTime 的 Android 库(一个 API 客户端)。

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:22.2.0'
    compile 'com.squareup.retrofit:retrofit:1.9.0'
    compile 'joda-time:joda-time:2.8.1'
}

现在库已经完成了,我把它编译成一个AAR文件,我想在应用程序中使用它,所以我把它添加到应用程序的libs文件夹中,并包含在build.gradle文件中像这样:

dependencies {
    compile(name:'s3papiandroidclient', ext:'aar')
    //Some other things
}

但是,当我尝试从库中初始化 API 客户端时,应用程序在从 RetroFit 或 DateTime(例如,retrofit.RestAdapter)调用对象时崩溃。看起来 Gradle 没有从 AAR 库中读取依赖项,因此没有在我的应用程序中安装 Retrofit 和 DateTime。我尝试在我的 AAR 文件中使用 transitive=true 参数,但没有帮助。

其他可能有帮助的一点是,我尝试生成一个 POM 文件,但依赖项也没有出现在其中。看起来这些真的有问题,我完全坚持这一点。

我能找到的唯一解决方法是手动将 AAR 文件中的依赖项添加到应用程序的 build.gradle 文件中,但这没有意义,我假设 Gradle 可以导入依赖项拥有!

此致,

Gyoo.

It looks like Gradle does not read the dependencies from the AAR library

那是因为 AAR 文件中没有依赖项。

I tried to generate a POM file, and the dependencies don't appear in it either

那么你生成POM文件的方式有问题。另外,AFAIK,您需要将 AAR 及其 POM 文件放入存储库中,以便 Gradle 识别 POM 并使用其中的依赖信息。