[英]Gradle is not adding Dagger 2 generated classes to aar
我是stackoverflow的新手,所以很抱歉,如果我的問題沒有得到很好的解釋。
我當前的項目具有下一個結構
core Library
| |
Library 1 Library 2
| |
applications applications
核心庫是一個包含其他2個庫的通用功能的庫。
在這種情況下,核心庫1和2使用了Dagger 2的依賴注入,它們每個都創建了自己的依賴圖。 因此,它們每個都有自己的組件接口,模塊和Dagger 2生成的類。 它們全部還具有@Inject批注,以獲取其所需的對象實例。
核心庫使用2個類與其他庫建立連接。 構造依賴關系圖的初始化器類和包含將返回所需對象實例的get方法的發布者類。
我要完成的工作是制作3個AAR文件,每個庫一個。 並且庫1和庫2使用了核心庫aar。 應用程序從工件存儲庫中獲取庫1和2。
我當前的問題是Dar 2生成的類在3個aar文件中的任何一個中。 我不知道為什么。 當我構建項目時,所有類都已生成,但是編譯后的類不在aar文件中。
我在用:
apt 'com.google.dagger:dagger-compiler:2.5'
compile 'com.google.dagger:dagger:2.5'
provided 'javax.annotation:jsr250-api:1.0'
gradle-2.14.1
這是我的發布者的一個示例:
public class Publisher {
@Inject
ReceiversManager receiversManager;
@Inject
NetworkManager networkManager;
@Inject
HttpRequestManager httpRequestManager;
public ReceiversManager getReceiversManager(){
return receiversManager;
}
public NetworkManager getNetworkManager() {
return networkManager;
}
public HttpRequestManager getHttpRequestManager() {
return httpRequestManager;
}
public Publisher(){
Initializer.getComponent().inject(this);
}
}
我用這個腳本解決了問題https://github.com/adwiv/android-fat-aar
該腳本有助於創建包含依賴項的aar,這在許多情況下會非常方便。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.