Gradle не добавляет классы, сгенерированные Dagger 2, в aarAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Gradle не добавляет классы, сгенерированные Dagger 2, в aar

Сообщение Anonymous »

Я новичок в stackoverflow, поэтому прошу прощения, если мой вопрос не полностью объяснен.
Мой текущий проект имеет следующую структуру core Library
| |
Library 1 Library 2
| |
applications applications

Основная библиотека — это библиотека, которая содержит общие функции для двух других библиотек.
В этом случае базовая библиотека, библиотеки 1 и 2 используют внедрение зависимостей. с Dagger 2, и каждый из них создает свой собственный граф зависимостей. Таким образом, каждый из них имеет свой собственный компонентный интерфейс, модули и классы, сгенерированные Dagger 2. Также все они имеют аннотации @Inject для получения необходимых экземпляров объектов.
основная библиотека использует 2 класса для установления соединения с другими библиотеками. Класс инициализатора, который строит граф зависимостей, и класс издателя, который имеет методы get, возвращающие необходимые экземпляры объектов.
Я хочу создать 3 файла aar, по одному для каждой библиотеки. . И эта библиотека 1 и 2 используют основную библиотеку aar. Приложения берут библиотеки 1 и 2 из артефактного репозитория.
Моя текущая проблема заключается в том, что в любом из трех файлов 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'

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://stackoverflow.com/questions/390 ... ses-to-aar
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»