android - io.realm.exceptions.RealmException : Could not find the generated ValidationList class 异常

标签 android realm

 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)

Realm 文件夹就位,注释处理器在 libs 文件夹中

设置.gradle

include ':app', ':realm'

构建.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()
    }
}

应用构建.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

帮不了我。

最佳答案

你有

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

在您的依赖项定义中,这可能是我怀疑会触发注释处理器的原因。应该在外面。

另外,Realm 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'
}

关于android - io.realm.exceptions.RealmException : Could not find the generated ValidationList class 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26254355/

相关文章:

ios - Realm - 匿名用户同步到新设备

android - 获取当天 Android 4.0+ 上的所有日历事件

java - 三十ABP : How to validate date using a custom date format/DateTimeFormatter?

Android Studio Picasso gif 加载占位符图像

java - 如何在 Realm Android [4.2.0] 中实例化 RealmQuery 对象

ios - 使用 Realm 的 RLMArray 存储字符串数组

java - 如何使用 android 数据绑定(bind)从 RealmList 获取项目

mvvm - 有人可以提供有关 Xamarin.Forms 和 UI 数据绑定(bind)的 Realm 数据存储库的示例吗?

android - OutOfMemoryError : bitmap size exceeds VM budget :- Android

android - Chromecast 自定义命令不起作用