簡體   English   中英

Android 在 AAR 上找不到第三個庫

[英]Android can't find the third library on AAR

我的 AAR 包含一個畢加索庫,但在我的 java 代碼中找不到畢加索。

這是我的build.gradle 在此處輸入圖像描述

在此處輸入圖像描述

這是我的多圖像選擇器 AAR gradle: 在此處輸入圖像描述

aar文件不包含嵌套的依賴項也沒有描述該庫使用的依賴項的pom文件。

這意味着,如果要使用flatDir庫導入aar文件,則還必須在項目中指定依賴項。

在您的情況下,您必須添加您的應用程序(而不是庫):

compile 'com.android.support:appcompat-v7:23.0.1'
compile 'com.squareup.picasso:picasso:2.5.2'

為什么不只使用

compile 'com.squareup.picasso:picasso:2.5.2'

如果使用gradle maven插件將aar部署到本地存儲庫,則可以使傳遞依賴項起作用。 這樣做的方法如下:

假設您有一個應用程序和一個庫模塊。 在您的庫模塊中,您使用 Picasso 作為依賴項。

讓我一步一步地解釋可能的場景。

1-如果您將庫模塊添加到您的應用程序模塊中,如下所示: implementation(project(":myLibrary")) 您的庫可以正常工作。

2- 如果您將庫模塊添加到您的應用程序模塊,如下所示: implementation files('../libs/mainLibrary-debug.aar') 如果您不將 Picasso 依賴項添加到您的應用程序模塊,您可能會崩潰。 您有兩種選擇來擺脫這種崩潰。

2.a.第一個選項是將畢加索庫添加到您的應用程序模塊。

2.b.第二個選項是使用任何 fat aar 插件編譯你的 aar。 如果你使用fat aar插件,當你生成aar時,它會自動下載Picasso庫並放入aar中。 這樣,您就不需要將 Picasso 依賴添加到您的應用模塊中。 有幾個fat aar插件可用,這里是其中之一: https://github.com/kezong/fat-aar-android

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM