1 回答

TA貢獻1906條經驗 獲得超3個贊
感謝您提供 gradle 文件,看起來您的 gradle 依賴項被混淆了。
包含 的com.android.feature模塊baseFeature true應該是其依賴項也包含application project()和 的模塊feature project()。這是您錯誤的主要原因:
預期配置 ':___:debugFeatureCompileClasspath' 只包含一個文件,但它不包含任何文件。
因此,從您提供的內容來看,您的application project()和feature project()是分開的。
要解決此問題,您的“基礎”android_common應該是:
application project(':android')
feature project(":android_instant_feature")
你的“非基本特征”android_instant_feature應該是:
implementation project(':android_common)
這不會改變您項目的整體結構。
您com.android.application將使用以下庫進行編譯:core和android_common.
您com.android.instantapp將使用免安裝應用 apks:android_common.apk和android_instant_feature.apk.
現在,為什么它baseFeature以前使用 2x ?不知道,不應該...
曾經有一個頁面 @ https://g.co/instantapps解釋了免安裝應用的結構,但您可以參考我之前的一篇文章,其中涉及概述和參考鏈接:如何訪問來自另一個功能模塊的活動
旁注:我注意到implementation project(":core")你的模塊中有一個共同點(減去 Instantapp)。如果那純粹是一個像 的庫com.android.library,那么你不應該像那樣設置它。您實際上可以將它放在您的基礎中:api project(":core")并刪除其他地方的所有其他引用。將它聲明為api意味著任何也實現了基類的模塊也將暴露于這個依賴項。(試試看,在一些罕見的情況下,這取決于您core擁有的其他庫,但請嘗試查看)。
添加回答
舉報