2014-10-08 63 views
1
FATAL EXCEPTION: main 
    Process: appwise.be.gsontestproject, PID: 17697 
    java.lang.RuntimeException: Unable to start activity ComponentInfo{appwise.be.gsontestproject/appwise.be.gsontestproject.MainActivity}: io.realm.exceptions.RealmException: Could not find the generated ValidationList class 
      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2216) 
      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2265) 
      at android.app.ActivityThread.access$800(ActivityThread.java:145) 
      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1206) 
      at android.os.Handler.dispatchMessage(Handler.java:102) 
      at android.os.Looper.loop(Looper.java:136) 
      at android.app.ActivityThread.main(ActivityThread.java:5140) 
      at java.lang.reflect.Method.invokeNative(Native Method) 
      at java.lang.reflect.Method.invoke(Method.java:515) 
      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795) 
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:611) 
      at dalvik.system.NativeStart.main(Native Method) 
    Caused by: io.realm.exceptions.RealmException: Could not find the generated ValidationList class 
      at io.realm.Realm.createAndValidate(Realm.java:203) 
      at io.realm.Realm.create(Realm.java:181) 
      at io.realm.Realm.getInstance(Realm.java:159) 
      at io.realm.Realm.getInstance(Realm.java:128) 
      at appwise.be.gsontestproject.MainActivity.onCreate(MainActivity.java:139) 
      at android.app.Activity.performCreate(Activity.java:5231) 
      at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 
      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2170) 
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2265) 
            at android.app.ActivityThread.access$800(ActivityThread.java:145) 
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1206) 
            at android.os.Handler.dispatchMessage(Handler.java:102) 
            at android.os.Looper.loop(Looper.java:136) 
            at android.app.ActivityThread.main(ActivityThread.java:5140) 
            at java.lang.reflect.Method.invokeNative(Native Method) 
            at java.lang.reflect.Method.invoke(Method.java:515) 
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795) 
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:611) 
            at dalvik.system.NativeStart.main(Native Method) 

境界夹到位,注释处理器在库文件夹io.realm.exceptions.RealmException:找不到所生成ValidationList类

Settings.gradle

include ':app', ':realm' 

的build.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules. 

buildscript { 
    repositories { 
     jcenter() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:0.12.2' 
     classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4' 

     // NOTE: Do not place your application dependencies here; they belong 
     // in the individual module build.gradle files 
    } 
} 

allprojects { 
    repositories { 
     jcenter() 
    } 
} 

app build.gradle

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 20 
    buildToolsVersion "20.0.0" 

    defaultConfig { 
     applicationId "appwise.be.gsontestproject" 
     minSdkVersion 11 
     targetSdkVersion 20 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      runProguard false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    //compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.android.support:appcompat-v7:20.0.0' 
    //gson 
    compile 'com.google.code.gson:gson:2.3' 
    //realm 
    apply plugin: 'com.neenbedankt.android-apt' 
    compile project(':realm') 

    compile fileTree(dir: 'libs', include: ['*.jar'], exclude: ['realm-annotations-processor*.jar']) 
    apt fileTree(dir: 'libs', include: ['realm-annotations-processor*.jar']) 
} 

我正在尝试将它与GSON结合使用。 这看起来像一个伟大的数据库工具(我最近测试它), 但在这个项目中,它无法正常工作。

的答案在这里: Getting io.realm.exceptions.RealmException: Could not find the generated ValidationList class when trying to get a Realm object

不能帮我。

回答

3

你有

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

你依赖的定义,这可能是原因,我怀疑会触发标注处理器内部。它应该在外面。

此外,境界0.71刚刚发布作为JCenter一个jar所以最好你应该只是有

compile 'io.realm:realm-android:0.71.0 
您关联

,而不是你现在有什么用apt。 你可以看到更多在这里:http://realm.io/docs/java/0.71.0/

总之,你的依赖性部分应该是这样的:

dependencies { 
    compile 'com.android.support:appcompat-v7:20.0.0' 
    compile 'com.google.code.gson:gson:2.3' 
    compile 'io.realm:realm-android:0.71.0' 
} 
+0

感谢你的努力,但仍是同样的错误... – TomCB 2014-10-08 10:57:59

+0

奇。我只是试验一个没有问题的示例项目。如果您在AndroidStudio中重建项目,您应该在日志中看到类似以下内容 “注意:处理类验证列表” 如果您不这样做,注释处理器由于某种原因不会被触发。 – 2014-10-08 11:29:00

+0

这工作:在libs中的jar +你的候选名单! 更简单,然后javadocs上的分步指南! – TomCB 2014-10-08 14:42:13