я создал демонстрационный проект Android Lib и используется крестик 2.0 со следующими шагами:Dagger 2: Нет реализация не генерироваться для интерфейса компонента
Добавлены следующие банки в папке/ЛИЭС:
кинжал-2.0.jar
кинжал-составитель-2.0.jar
кинжал-производители-2,0-beta.jar
гуавы-18.0.jar
javawriter-2.5.1.jar
javax.annotation-апи-1.2.jar
javax.inject-1.jar
Проект -> Свойства -> Компилятор Java -> Обработка аннотаций (разрешенная обработка аннотаций)
Проект -> P roperties -> Компилятор Java -> Обработка аннотаций - Путь к фабрике: добавлены все вышеупомянутые банки.
Создано следующие классы:
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; } }
общедоступный интерфейс Engine {
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
не для меня, чтобы построить компонент.
Не могли бы вы помочь?