Android - 领域异常:找不到RealmJsonImpl,找不到类异常

时间:2015-05-19 05:30:52

标签: java android classnotfoundexception realm

这是我的领域对象:

public class StringThisClassRealm extends RealmObject {
    String string = "";

    public String getString() {
        return string;
    }

    public void setString(String string) {
        this.string = string;
    }
}

我在我的活动的创建上称之为测试purpsoe:

Realm realm = Realm.getInstance(this);
realm.beginTransaction();
StringThisClassRealm cr = realm.createObject(StringThisClassRealm.class);
cr.setString("String");
realm.commitTransaction();  

当我调试时,它从未经过第一行Realm realm = Realm.getInstance(this);

App崩溃,这是我的logTrace:

05-19 13:15:44.440: E/AndroidRuntime(12300): FATAL EXCEPTION: main 
05-19 13:15:44.440: E/AndroidRuntime(12300): Process: uk.org.humanfocus.hfi, PID: 12300 
05-19 13:15:44.440: E/AndroidRuntime(12300): java.lang.RuntimeException: Unable to start activity ComponentInfo{uk.org.humanfocus.hfi/uk.org.humanfocus.hfi.sclr.CompetencyAssessment}: io.realm.exceptions.RealmException: Could not find io.realm.RealmJsonImpl 
05-19 13:15:44.440: E/AndroidRuntime(12300):   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2237) 
05-19 13:15:44.440: E/AndroidRuntime(12300):   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2286) 
05-19 13:15:44.440: E/AndroidRuntime(12300):   at android.app.ActivityThread.access$800(ActivityThread.java:144) 
05-19 13:15:44.440: E/AndroidRuntime(12300):   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1246) 
05-19 13:15:44.440: E/AndroidRuntime(12300):   at android.os.Handler.dispatchMessage(Handler.java:102) 
05-19 13:15:44.440: E/AndroidRuntime(12300):   at android.os.Looper.loop(Looper.java:212) 
05-19 13:15:44.440: E/AndroidRuntime(12300):   at android.app.ActivityThread.main(ActivityThread.java:5135) 
05-19 13:15:44.440: E/AndroidRuntime(12300):   at java.lang.reflect.Method.invokeNative(Native Method) 
05-19 13:15:44.440: E/AndroidRuntime(12300):   at java.lang.reflect.Method.invoke(Method.java:515) 
05-19 13:15:44.440: E/AndroidRuntime(12300):   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:878) 
05-19 13:15:44.440: E/AndroidRuntime(12300):   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) 
05-19 13:15:44.440: E/AndroidRuntime(12300):   at dalvik.system.NativeStart.main(Native Method) 
05-19 13:15:44.440: E/AndroidRuntime(12300): Caused by: io.realm.exceptions.RealmException: Could not find io.realm.RealmJsonImpl 
05-19 13:15:44.440: E/AndroidRuntime(12300):   at io.realm.Realm.getRealmJson(Realm.java:268) 
05-19 13:15:44.440: E/AndroidRuntime(12300):   at io.realm.Realm.<init>(Realm.java:165) 
05-19 13:15:44.440: E/AndroidRuntime(12300):   at io.realm.Realm.createAndValidate(Realm.java:513) 
05-19 13:15:44.440: E/AndroidRuntime(12300):   at io.realm.Realm.create(Realm.java:486) 
05-19 13:15:44.440: E/AndroidRuntime(12300):   at io.realm.Realm.getInstance(Realm.java:404) 
05-19 13:15:44.440: E/AndroidRuntime(12300):   at io.realm.Realm.getInstance(Realm.java:366) 
05-19 13:15:44.440: E/AndroidRuntime(12300):   at io.realm.Realm.getInstance(Realm.java:347) 
05-19 13:15:44.440: E/AndroidRuntime(12300):   at uk.org.humanfocus.hfi.sclr.CompetencyAssessment.onCreate(CompetencyAssessment.java:125) 
05-19 13:15:44.440: E/AndroidRuntime(12300):   at android.app.Activity.performCreate(Activity.java:5231) 
05-19 13:15:44.440: E/AndroidRuntime(12300):   at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 
05-19 13:15:44.440: E/AndroidRuntime(12300):   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2201) 
05-19 13:15:44.440: E/AndroidRuntime(12300):   ... 11 more 
05-19 13:15:44.440: E/AndroidRuntime(12300): Caused by: java.lang.ClassNotFoundException: io.realm.RealmJsonImpl 
05-19 13:15:44.440: E/AndroidRuntime(12300):   at java.lang.Class.classForName(Native Method) 
05-19 13:15:44.440: E/AndroidRuntime(12300):   at java.lang.Class.forName(Class.java:251) 
05-19 13:15:44.440: E/AndroidRuntime(12300):   at java.lang.Class.forName(Class.java:216) 
05-19 13:15:44.440: E/AndroidRuntime(12300):   at io.realm.Realm.getRealmJson(Realm.java:263) 
05-19 13:15:44.440: E/AndroidRuntime(12300):   ... 21 more 
05-19 13:15:44.440: E/AndroidRuntime(12300): Caused by: java.lang.NoClassDefFoundError: io/realm/RealmJsonImpl 
05-19 13:15:44.440: E/AndroidRuntime(12300):   ... 25 more 
05-19 13:15:44.440: E/AndroidRuntime(12300): Caused by: java.lang.ClassNotFoundException: Didn't find class "io.realm.RealmJsonImpl" on path: DexPathList[[zip file "/data/app/uk.org.humanfocus.hfi-2.apk"],nativeLibraryDirectories=[/data/app-lib/uk.org.humanfocus.hfi-2, /vendor/lib, /system/lib]] 
05-19 13:15:44.440: E/AndroidRuntime(12300):   at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) 
05-19 13:15:44.440: E/AndroidRuntime(12300):   at java.lang.ClassLoader.loadClass(ClassLoader.java:497) 
05-19 13:15:44.440: E/AndroidRuntime(12300):   at java.lang.ClassLoader.loadClass(ClassLoader.java:457)

您可以在此处查看工厂路径:

enter image description here

1 个答案:

答案 0 :(得分:0)

您需要添加@RealmClass注释以触发注释预处理器,该预处理器启动/触发annotation process。它本身也包括参考。休息很好