Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Gradle没有向aar添加Dagger 2生成的类_Android_Gradle_Dagger 2_Aar - Fatal编程技术网

Android Gradle没有向aar添加Dagger 2生成的类

Android Gradle没有向aar添加Dagger 2生成的类,android,gradle,dagger-2,aar,Android,Gradle,Dagger 2,Aar,我是stackoverflow的新手,如果我的问题没有得到很好的解释,我很抱歉 我当前的项目具有下一个结构 core Library | | Library 1 Library 2 | |

我是stackoverflow的新手,如果我的问题没有得到很好的解释,我很抱歉

我当前的项目具有下一个结构

                              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,这在许多情况下都非常方便

一个链接到一个潜在的解决方案总是受欢迎的,但请你这样做,你的同事用户将有一些想法,它是什么,为什么会在那里。始终引用重要链接中最相关的部分,以防无法访问目标站点或永久脱机。考虑到仅仅是一个指向外部站点的链接是一个可能的原因。