【发布时间】:2015-10-02 11:28:38
【问题描述】:
我已经创建了一个演示 Android Lib 项目并使用了 dagger 2.0,步骤如下:
-
将以下 jars 添加到 /libs 文件夹:
dagger-2.0.jar
dagger-compiler-2.0.jar
dagger-producers-2.0-beta.jar
guava-18.0.jar
javawriter-2.5.1.jar
javax.annotation-api-1.2.jar
javax.inject-1.jar
项目 -> 属性 -> Java 编译器 -> 注释处理(启用注释处理)
项目 -> 属性 -> Java 编译器 -> 注释处理 - 工厂路径:添加了上述所有 jar。
-
创建了以下类:
public class Car { private Engine engine; @Inject public Car(Engine engine) { this.engine = engine; } public String carDetails(){ String engineName = this.engine.getName(); int engineNumber = this.engine.getNumber(); return "This car has the following details: \n" + engineName + "----" + engineNumber; } }公共接口引擎{
public String getName(); public int getNumber(); } public class Toyota implements Engine{ @Override public String getName() { return "This is toyota engine"; } @Override public int getNumber() { return 1234567890; } } @Component(modules = EngineModule.class) public interface EngineComponent { void inject(); } @Module public class EngineModule { public EngineModule(DemoApplication demoApplication) { } @Provides Engine provideEngine(){ return new Toyota(); } }
但是/.apt-generated文件夹里面只有两个文件:
Car_Factory.java EngineModule_ProvideEngineFactory.java
DaggerEngineComponent.java 不适合我构建组件。
有人可以帮忙吗?
【问题讨论】:
标签: android annotations android-library dagger-2