2016-07-26 3 views
1

Попытка получить простое приложение для работы с roboguice, но столкнувшись с этой ошибкой: Didn't find class "AnnotationDatabaseImpl" on path: Похоже, что многие люди получают эту ошибку, и ни одно из решений, похоже, не работает для меня. Все, что я сделал, - это чистый шаблон приложения AndroidStudio. MainActivity.java:Ошибка RoboGuice: не нашел класс «AnnotationDatabaseImpl» по пути

package com.example.temp.robotest; 

import android.os.Bundle; 

import roboguice.RoboGuice; 
import roboguice.util.RoboContext; 
import java.util.HashMap; 
import java.util.HashMap; 
import java.util.Map; 
import com.google.inject.Key; 
import roboguice.activity.RoboActionBarActivity; 

public class MainActivity extends RoboActionBarActivity implements RoboContext { 

    protected HashMap<Key<?>, Object> scopedObjects; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
    } 

    public Map<Key<?>, Object> getScopedObjectMap() { 
     return this.scopedObjects; 
    } 
} 

И мой Gradle:

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 24 
    buildToolsVersion "24.0.0" 

    defaultConfig { 
     applicationId "com.example.temp.robotest" 
     minSdkVersion 23 
     targetSdkVersion 24 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 

} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    testCompile 'junit:junit:4.12' 
    compile 'com.android.support:appcompat-v7:24.0.0' 
    compile 'org.roboguice:roboguice:3.0' 
    provided 'org.roboguice:roboblender:3.0' 
} 

Замена линии 14 в MainActivity.java с //public class MainActivity extends AppCompatActivity implements RoboContext { и прогонов приложения. Но я хочу использовать roboguice. Есть предположения?

ответ

0

Замена provided 'org.roboguice:roboblender:3.0' на apt 'org.roboguice:roboblender:3.0' Работала для меня.

Вы должны включить com.neenbedankt.android-склонный Gradle плагин, добавив

apply plugin: 'com.neenbedankt.android-apt'

к вашему build.gradle из модуля приложения и

buildscript { 
    /.../ 
     dependencies { 
      /.../ 
      classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4' 
     } 

    } 

для сборки. град проекта.