Android Gradle没有向aar添加Dagger 2生成的类
我是stackoverflow的新手,如果我的问题没有得到很好的解释,我很抱歉 我当前的项目具有下一个结构Android Gradle没有向aar添加Dagger 2生成的类,android,gradle,dagger-2,aar,Android,Gradle,Dagger 2,Aar,我是stackoverflow的新手,如果我的问题没有得到很好的解释,我很抱歉 我当前的项目具有下一个结构 core Library | | Library 1 Library 2 | |
core Library
| |
Library 1 Library 2
| |
applications applications
核心库是一个包含其他两个库的通用功能的库
在本例中,核心库、库1和库2使用Dagger 2的依赖项注入,并且它们中的每一个都创建自己的依赖关系图。因此,它们中的每一个都有自己的组件接口、模块和Dagger 2生成的类。此外,它们都有@Inject注释,用于获取所需的对象实例
核心库使用2个类与其他库建立连接。一个用于构建依赖关系图的初始化器类和一个publisher类,该类具有返回所需对象实例的get方法
我想完成的是制作3个aar文件,每个库一个。库1和库2使用核心库aar。应用程序从人工库中获取库1和库2
我目前的问题是,在3个aar文件中的任何一个都是Dagger 2生成的类。我不知道为什么。所有的类都是在我构建项目时生成的,但是编译的类不在aar文件中
我正在使用:
apt 'com.google.dagger:dagger-compiler:2.5'
compile 'com.google.dagger:dagger:2.5'
provided 'javax.annotation:jsr250-api:1.0'
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);
}
}
gradle-2.14.1
这是我的出版商的一个例子:
apt 'com.google.dagger:dagger-compiler:2.5'
compile 'com.google.dagger:dagger:2.5'
provided 'javax.annotation:jsr250-api:1.0'
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);
}
}
我用这个脚本解决了这个问题
该脚本有助于创建包含依赖项的aar,这在许多情况下都非常方便 一个链接到一个潜在的解决方案总是受欢迎的,但请你这样做,你的同事用户将有一些想法,它是什么,为什么会在那里。始终引用重要链接中最相关的部分,以防无法访问目标站点或永久脱机。考虑到仅仅是一个指向外部站点的链接是一个可能的原因。