匕首2和android工作室:工作,但看不到生成的类

我试图在Android Studio项目中使用Dagger 2。 我已经使用了CoffeeMaker示例。 我已经设法使应用程序构build和工作,但是: – 我看不到生成的代码成功。 – 如果我debugging,我也看不到它。 – 此外DaggerCoffeeApp_Coffee标记为芦苇(无法parsing符号)

我的gradle文件是:

// 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 "匕首2和android工作室:工作,但看不到生成的类"

使用Hugo Visser的Android-Apt插件 :

 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可见。

我偶然发现了同样的问题,在我的情况下,我正在testing新的类,并试图将它们分别注入我的主类,在这种情况下,Dagger不会从工厂生成任何DaggerComponents。

简单地说,记住将所有注入到一个模块和一个组件中的一个类中。 你不能注入多个DaggerComponent到一个类中。 除此之外,这些组件的目的是聚合注入的类