Невозможно просмотреть сгенерированный Dagger исходный код классов в IDE - PullRequest
0 голосов
/ 15 сентября 2018

У меня проблемы с просмотром сгенерированных классов кинжалов в моем проекте. Приложение строит, кинжал просто вставляет классы и т. Д., Но я не могу просмотреть классы кинжалов в моей IDE - они отображаются красным (указывает на ошибку) и пытаются войти в класс во время отладки и / или просмотр исходного кода, чтобы увидеть, как они работают, не работает.

Вот пример проекта, который мне не подходит: https://github.com/erikcaffrey/Dagger2-MVP-Sample

Все, что я сделал, это вытащил его, запустил, а затем пошел в класс CategoryApplication и попытался увидеть источник для класса DaggerAppComponent, но я не смог.

Для справки вот что я вижу: dagger class unavailable

Некоторая дополнительная информация: на других компьютерах у меня нет этой проблемы (Windows 10, MacBook Pro # 2), но моя основная разработка MacBook Pro, если это затронуто. Сгенерированные кинжалом файлы существуют в структуре моего проекта, и я могу просматривать их вручную, но в идеале среда IDE может подобрать их и не отображать это как ошибку визуально. Я использую Android Studio 3.1.4, но это также происходило в более старых версиях (хотя точные цифры точно не указаны)

Пример проекта, который я использую, имеет следующие настройки зависимостей gradle:

annotationProcessor 'com.google.dagger:dagger-compiler:2.15'
implementation 'com.google.dagger:dagger:2.15'

Он не использует ни компоненты кинжала Android, ни компоненты поддержки Android, FWIW.

Обновление: я заметил, что мой экземпляр Android Studio на моем MacBook Pro не отображает файлы, сгенерированные кинжалом, в каталоге app / build / generate / source / apt / при просмотре файлов проекта в настройке «Project». Файлы на жестком диске существуют, но они не отображаются в IDE ... поэтому я сомневаюсь, что это проблема с кинжалом - просто что-то не так с IDE, не собирающим эти файлы.

Ответы [ 3 ]

0 голосов
/ 15 сентября 2018
def daggerVer = 2.12 // or latest version

implementation "com.google.dagger:dagger:$daggerVer"
implementation "com.google.dagger:dagger-android-support:$daggerVer"
annotationProcessor "com.google.dagger:dagger-android-processor:$daggerVer"
annotationProcessor "com.google.dagger:dagger-compiler:$daggerVer"
0 голосов
/ 19 сентября 2018

Я заметил, что это не проблема в бета-версии Android Studio 3.2, поэтому решил, что это проблема конфигурации. Я удалил Android Studio и удалил со своего компьютера все ссылки на Android Studio, а затем переустановил Android Studio 3.1.4. Эта проблема больше не возникает.

0 голосов
/ 15 сентября 2018

Добавьте в свой файл build.gradle эту строку:

dependencies {

    apt 'com.google.dagger:dagger-compiler:2.0'

}

, что сделает сгенерированные источники видимыми в Android Studio.

...