RoboGuice错误:未在路径

时间:2016-07-26 03:57:09

标签: java android roboguice roboblender

尝试使用roboguice运行一个简单的应用程序,但遇到此错误:Didn't find class "AnnotationDatabaseImpl" on path:看起来很多人都会遇到此错误,并且所有解决方案似乎都不适用于我。我所做的就是采用AndroidStudio空白应用模板。 MainActivity.java:

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;
    }
}

我的朋友们:

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'
}

//public class MainActivity extends AppCompatActivity implements RoboContext {替换MainActivity.java中的第14行,然后运行应用程序。但我希望使用roboguice。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

apt 'org.roboguice:roboblender:3.0'取代apply plugin: 'com.neenbedankt.android-apt'为我工作。

您必须通过添加

启用com.neenbedankt.android-apt gradle插件

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

从app模块和

到你的build.gradle
const QStringList devices = QStringList() << "Samsumng S5" << "Iphone 4S" << "Xiami Mi3";

到项目的build.gradle。