我需要幫助解決這個問題。我的專案有三個模塊,我將它們稱為模塊 A、B 和 C。它們都是 Android 庫模塊。
C是最終產品。我想將它匯出為包含 A 和 B 的所有類和資源的 AAR。
我注意到僅添加:
implementation project(':libA')
implementation project(':libB')
不會將 A 和 B 添加到 C 中,我將不得不單獨分發它們,這不是我想要的(盡管如果沒有其他方法我可以這樣做)。
我還注意到,如果我構建 A 和 B,手動將生成的 AAR 復制到 C 中的 lib 檔案夾,并將依賴項添加為
implementation fileTree(include: ["*.aar"], dir: "libs")
然后它確實在最終結果中包含 A 和 B。但我不想每次都手動執行此操作,因此我想要創建一個 gradle 任務來為我執行此操作。
經過幾次嘗試,沒有運氣。我無法創建這個。到目前為止,我嘗試的是創建一個自定義 gradle 配置(我們稱之為 aarDependency)并將依賴項宣告為
aarDependency project(':libA')
aarDependency project(':libB')
然后我把我的任務寫成
task copyAARDependencies(type: Copy) {
dependsOn(":libA:assembleRelease")
dependsOn(":libB:assembleRelease")
from configurations.aarDependency.artifacts.files
into("libs")
}
但唉,沒有檔案被復制。
有沒有人對此有任何解決方案?如果有其他解決方案,它不需要是 gradle 腳本。
提前致謝。
uj5u.com熱心網友回復:
您正在嘗試實作所謂的“fat-aar”,有一個可用的 Gradle 插件https://github.com/kezong/fat-aar-android
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/425833.html
