[英]Robolectric Resources$NotFoundException can't find library (aar) resources
[英]Android can't find the third library on AAR
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.