Intereting Posts
Обновление HTML-списка на Android с помощью Simperium IllegalStateException для HardwareRenderer createSurface Как поддерживать обратную совместимость при использовании Android API уровня 15? Android – Как скопировать эмулятор другу для тестирования Как получить представление о содержании активности? Как я могу получить шаблон формата даты и времени по умолчанию Скрыть строку состояния на Android Ice Cream Sandwich Снимок экрана текущего экрана устройства Как понять чистую архитектуру VIPER? Почему ориентация эмулятора имбирных пряников застревает в приложениях? Getmeasuredheight () и getmeasuredwidth () возвращает 0 после View.measure () Как отправить данные в Web-сервис с помощью JSON? Как правильно подключить приложение Android к сокету RFCOMM на микроконтроллере Arduino с поддержкой Bluetooth? Экстрактинг Zip на SD-карту происходит очень медленно. Как я могу оптимизировать производительность? Что делает Eclipse, когда говорится, что он обновляет индексы?

Сгенерированный класс Dagger2 неожиданно отсутствует в Android Studio

Я использую Dagger2 в Android Studio уже несколько месяцев, но сегодня он внезапно прекратил работать и дает мне следующую ошибку

error: cannot find symbol return Dagger_Injector.builder() ^ symbol: variable Dagger_Injector location: class Initializer Note: Some input files use or override a deprecated API. Note: Recompile with -Xlint:deprecation for details. Note: Some input files use unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. 1 error 

Вот код, в котором он не работает

 @Singleton @Component(modules = {TestService.class, ServiceFactory.class}) public interface Injector { public final static class Initializer { public static Injector init(ApplicationLoader app, boolean bypassVerification) { return Dagger_Injector.builder() .testService(new TestService()) .serviceFactory(new ServiceFactory(app)) .build(); } } void inject(ApplicationLoader obj); } 

Вот моя информация о градиенте

 ------------------------------------------------------------ Gradle 2.2.1 ------------------------------------------------------------ Build time: 2014-11-24 09:45:35 UTC Build number: none Revision: 6fcb59c06f43a4e6b1bcb401f7686a8601a1fb4a Groovy: 2.3.6 Ant: Apache Ant(TM) version 1.9.3 compiled on December 23 2013 JVM: 1.8.0_05 (Oracle Corporation 25.5-b02) OS: Mac OS X 10.10.2 x86_64 

И вот содержание моего build.gradle

 apply plugin: 'com.android.application' apply plugin: 'robolectric' apply plugin: 'com.neenbedankt.android-apt' android { compileSdkVersion 21 buildToolsVersion '21.1.0' defaultConfig { applicationId "com.test" minSdkVersion 11 targetSdkVersion 21 versionCode 1 versionName "1.0" testInstrumentationRunner "com.google.android.apps.common.testing.testrunner.GoogleInstrumentationTestRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } productFlavors { } lintOptions { abortOnError false } sourceSets { androidTest { setRoot('src/androidTest') } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7 } dexOptions { preDexLibraries = false } packagingOptions { exclude 'META-INF/LICENSE.txt' exclude 'META-INF/NOTICE.txt' } } tasks.withType(Test) { include '**/*Test.class' exclude '**/espresso/**/*.class' // configure max heap size of the test JVM maxHeapSize = "2048m" } dependencies { androidTestCompile 'junit:junit:4.12' androidTestCompile('org.robolectric:robolectric:2.4') { exclude group: 'commons-logging', module: 'commons-logging' exclude group: 'org.apache.httpcomponents', module: 'httpclient' } compile 'javax.servlet:javax.servlet-api:3.0.1' compile fileTree(dir: 'libs', include: ['*.jar']) compile files('libs/renderscript-v8.jar') compile files('libs/jsonic-1.2.0.jar') compile 'com.android.support:appcompat-v7:20.+' compile 'com.google.android.gms:play-services:3.2' compile 'com.squareup.retrofit:retrofit:1.6.1' compile 'com.squareup.okhttp:okhttp-urlconnection:2.0.0' compile 'com.squareup.okhttp:okhttp:2.0.0' compile 'com.squareup:otto:1.3.5' compile 'com.commonsware.cwac:merge:1.0.2' compile 'com.j256.ormlite:ormlite-android:4.48' compile 'com.android.support:support-v4:20.0.0' compile 'io.nlopez.smartlocation:library:2.0.8' compile 'com.google.dagger:dagger:2.0-SNAPSHOT' apt 'com.google.dagger:dagger-compiler:2.0-SNAPSHOT' compile 'org.glassfish:javax.annotation:10.0-b28' compile 'com.github.amlcurran.showcaseview:library:5.0.0' compile 'com.edmodo:cropper:1.0.1' } 

Любая помощь приветствуется.

Solutions Collecting From Web of "Сгенерированный класс Dagger2 неожиданно отсутствует в Android Studio"

Похоже, что по некоторым причинам в именах генерируемых классов компонентов больше нет подчеркиваний. Просто загляните в свою build/generated/source/apt папку, чтобы увидеть, как это действительно изменилось.

Исправьте его, заменив Dagger_Injector на DaggerInjector и т. Д.

В моем случае я использовал область и из-за несоответствия apt я не мог получить автогенерированный DaggerComponent.

Я заменил

 classpath "io.realm:realm-gradle-plugin:1.2.0" 

с

 classpath "io.realm:realm-gradle-plugin:3.1.2" 

И применил плагин

 apply plugin: 'realm-android' 

В файле градиента уровня приложения