试图让一个简单的应用程序在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;
}
}和我的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'
}用//public class MainActivity extends AppCompatActivity implements RoboContext {替换MainActivity.java中的第14行,应用程序就会运行。但我希望使用机器人。有什么想法吗?
发布于 2016-08-02 03:23:46
用apt 'org.roboguice:roboblender:3.0'替换provided 'org.roboguice:roboblender:3.0'对我来说很有效。
您必须通过添加以下内容来启用com.neenbedankt.android-apt gradle插件
apply plugin: 'com.neenbedankt.android-apt'
从应用程序模块发送到您的build.gradle,然后
buildscript {
/.../
dependencies {
/.../
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4'
}
}添加到项目的build.gradle。
https://stackoverflow.com/questions/38580787
复制相似问题