Intereting Posts
ViewPager с фрагментами – onPause (), onResume ()? Есть ли план по включению Android PdfRenderer в библиотеку поддержки? Есть ли безопасный способ управления ключами API? Теневой разделитель между Android-фрагментами Android Studio – непризнанная опция VM «MaxPermSize = 256m» Андроид linearlayout фоновый селектор Как синхронизировать игровые сервисы в режиме реального времени Могу ли я использовать tcpdump для получения HTTP-запросов, заголовка ответа и тела ответа? Какова цель Лупера и как его использовать? Не удалось применить плагин. Плагин Android Gradle 3.0.0-alpha5 не должен применяться к проекту. Relativelayout или LinearLayout в разработке ios iphone? В Android 7 (уровень API 24) моему приложению не разрешено отключать звук телефона (установить режим звонка на тихий) Проверьте, есть ли у камеры камера? Принудительный выход звука на внутренний динамик, когда наушники подключены Принудительное приложение для перезапуска с первого действия (когда разрешение отклонено)

Dagger 2 и android Studio: работают, но не могут видеть созданные классы

Я пытаюсь использовать Dagger 2 в проекте Android Studio. Я использовал пример CoffeeMaker. Однако мне удалось сделать сборку и работу приложений: – Мне не удалось увидеть сгенерированный код. – Если я отлаживаю, я тоже не вижу этого. – Кроме того, DaggerCoffeeApp_Coffee как отмечено как тростник (не может разрешить символ)

Мои файлы градиентов:

// Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:1.1.3' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { jcenter() } } 

а также

 apply plugin: 'com.android.application' android { compileSdkVersion 22 buildToolsVersion "21.1.2" defaultConfig { applicationId "com.mateuyabar.android.dagger2test" minSdkVersion 22 targetSdkVersion 22 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } lintOptions { abortOnError false // ignoring some references from dagger-compiler } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:22.0.0' compile 'javax.inject:javax.inject:1' compile 'javax.annotation:javax.annotation-api:1.2' compile 'com.google.dagger:dagger:2.0' provided 'com.google.dagger:dagger-compiler:2.0' provided 'org.glassfish:javax.annotation:10.0-b28' } 

благодаря

Solutions Collecting From Web of "Dagger 2 и android Studio: работают, но не могут видеть созданные классы"

Используйте плагин Android-Apt от Hugo Visser:

 apply plugin: 'com.android.application' apply plugin: 'com.neenbedankt.android-apt' buildscript { repositories { mavenCentral() } dependencies { // the latest version of the android-apt plugin classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4' } } android { compileSdkVersion 22 buildToolsVersion "21.1.2" defaultConfig { applicationId "com.mateuyabar.android.dagger2test" minSdkVersion 22 targetSdkVersion 22 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } lintOptions { abortOnError false // ignoring some references from dagger-compiler } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:22.0.0' compile 'javax.inject:javax.inject:1' compile 'javax.annotation:javax.annotation-api:1.2' compile 'com.google.dagger:dagger:2.0' apt 'com.google.dagger:dagger-compiler:2.0' provided 'org.glassfish:javax.annotation:10.0-b28' } 

Обратите внимание на строку apt 'com.google.dagger:dagger-compiler:2.0' . Это должно сделать сгенерированные источники видимыми для AS.

Я наткнулся на одну и ту же проблему, в моем случае я тестировал новые классы и пытался вставлять их отдельно в свой основной класс, в этом случае Кинжал не будет создавать ни одного DaggerComponents с фабрики.

Просто не забудьте поставить все инъекции, которые входят в один класс в один модуль и один компонент. Вы не можете вводить более одного DaggerComponent в один класс. Кроме того, в этом суть этих компонентов, для агрегирования введенных классов