Иными словами, если у меня есть класс в модуле core, которому нужен инжект контекста, который инициализируется с AppComponent в Application-классе в модуле app
(в build.gradle app-модуля есть implementation project(path: ':core')
Соответственно, core-модуль ничего не знает о DaggerAppComponent.
Для того, чтобы это решить я могу:
1) Вынести проблемный класс из core в app модуль, тогда придется все подобные классы переносить в app, где им не место так то.
2) Переместить AppComponent в core модуль (что невозможно, ибо AppComponent также отдает зависимости компонентам из app модуля.
Вопрос именно в видимости одним модулем gradle классов другого модуля.
Мне это виделось так, когда затеял эту заварушку:
Core-модуль: общая модель + db (потом отделю, это на первое время)
Network-модуль: общее API + модель
repository - модуль: работает с получением данных из сети и бд, используя core и network модули.
App - модуль : все экраны приложения + логика
Вот похожий вопрос, где человек вообще отказался от Dagger в таком случае - вначале пробрасывает контекст, а потом уже дергает даггер
https://qna.habr.com/q/703557