2017-04-13 90 views
3

我有一個具有依賴關係A和B的AAR。現在我將這個AAR添加爲APK的依賴關係的一部分。Android:如何在APK中構建AAR的依賴關係?

所以在APK中的build.gradle,我有:

compile(name:'MyAAR', ext:'aar') 

這工作得很好,併成功建立。但問題是,當我實際測試的應用程序,我有致命的異常這樣的:

java.lang.NoClassDefFoundError: Failed resolution of: Lcom/squareup/okhttp/OkHttpClient; 
     at com.squareup.picasso.OkHttpDownloader.defaultOkHttpClient(OkHttpDownloader.java:31) ... 

這是因爲APK不會對畢加索的依賴,但我用畢加索在我的AAR。

所以我的問題是,我該如何構建AAR,以便在APK針對AAR構建時,它也會自動採用AAR的依賴關係。我試過transitive = true,不工作。

回答

0

aar文件doens不包含的傳遞依賴關係。
另外它沒有描述依賴關係的pom文件。 transitive=true是默認值,它告訴Gradle下載在pom文件中指定的依賴關係。這是它的原因,因爲它不適用於你的情況。

在你的情況下,你必須添加其他依賴build.gradle文件。

另一種方法是將庫發佈在maven資源庫(公共或私有)中。在這種情況下,使用pom文件進行Gradle也可以下載依賴關係。

相關問題