java - Green Dao 无法初始化 DAOConfig

标签 java android greendao

我尝试使用一个旧的 android 应用程序,它使用 Green Dao 这样的美国数据库,这个应用程序也有味道,所以我编译并安装了 apk,但是应用程序无法启动它给出了这个异常:

Process: com.xxxx.boeufaujardin, PID: 20011 java.lang.RuntimeException: Unable to create application com.android.tools.fd.runtime.BootstrapApplication: de.greenrobot.dao.DaoException: Could not init DAOConfig
                                                   at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4556)
                                                   at android.app.ActivityThread.access$1500(ActivityThread.java:151)
                                                   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1364)
                                                   at android.os.Handler.dispatchMessage(Handler.java:102)
                                                   at android.os.Looper.loop(Looper.java:135)
                                                   at android.app.ActivityThread.main(ActivityThread.java:5254)
                                                   at java.lang.reflect.Method.invoke(Native Method)
                                                   at java.lang.reflect.Method.invoke(Method.java:372)
                                                   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
                                                   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
                                                Caused by: de.greenrobot.dao.DaoException: Could not init DAOConfig
                                                   at de.greenrobot.dao.DaoConfig.<init>(DaoConfig.java:88)

其他原因:

Caused by: java.lang.NullPointerException: Attempt to read from field 'int de.greenrobot.dao.Property.ordinal' on a null object reference
                                                       at de.greenrobot.dao.DaoConfig.reflectProperties(DaoConfig.java:99)
                                                       at de.greenrobot.dao.DaoConfig.<init>(DaoConfig.java:51)
                                                       at de.greenrobot.dao.AbstractDaoMaster.registerDaoClass(AbstractDaoMaster.java:43) 

这是我的毕业典礼:

apply plugin: 'com.android.application'

buildscript {
    repositories {
        mavenCentral()
        maven { url 'http://download.crashlytics.com/maven' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.0.0-alpha1'
        classpath 'com.crashlytics.tools.gradle:crashlytics-gradle:1.+'
    } } apply plugin: 'android' apply plugin: 'crashlytics' repositories {
    mavenCentral()
    maven { url 'http://download.crashlytics.com/maven' } }


android {
    compileSdkVersion 19
    buildToolsVersion '19.1.0'

    //useOldManifestMerger false

    dexOptions {
        preDexLibraries = false
    }

    packagingOptions {
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE.txt'
    }

    signingConfigs {
        debug_config {

        }
        release_config {

        }
    }
    compileSdkVersion 19
    buildToolsVersion '19.1.0'
    defaultConfig {
        applicationId 'com.xxxxx.xx'
        minSdkVersion 11
        targetSdkVersion 19
        versionCode 11
        versionName '0.3'
        signingConfig signingConfigs.debug_config
        // Enabling multidex support.
      //  multiDexEnabled true
    }
    buildTypes {
        release {
            debuggable false
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        debug {

            debuggable true
            signingConfig signingConfigs.debug_config
            //renderscriptDebugBuild false
        }
    }
    productFlavors {
        Menu {
            applicationId "com.paperpad.menu"
            manifestPlaceholders = [activityLabel : "Menu", gcmPackage : "com.paperpad.menu"]
            minSdkVersion 11
            signingConfig signingConfigs.debug_config
            targetSdkVersion 19
            versionCode 11
            versionName '0.3'

            ext.enableCrashlytics = false
        }
        ServiceApps {
            ext.enableCrashlytics = false // true
            applicationId "xxxx.xxxxx.boeufaujardin"
            minSdkVersion 11
            signingConfig signingConfigs.debug_config
            targetSdkVersion 19
            versionCode 19
            versionName '0.5.4'

        }
    }

    sourceSets { //        main { //            manifest.srcFile 'AndroidManifest.xml' //            java.srcDirs = ['java'] //         resources.srcDirs = ['res'] //            aidl.srcDirs = ['src'] //    renderscript.srcDirs = ['src'] //            res.srcDirs = ['res'] //  assets.srcDirs = ['assets'] //        }


        ServiceApps {
            manifest.srcFile 'ServiceApps/AndroidManifest.xml'
            resources.srcDirs = ['ServiceApps/res']
            res.srcDirs = ['ServiceApps/res']
        }
    } }

dependencies {
    compile('com.android.support:appcompat-v7:19.1.0') {
        // really use 19.1.0 even if something else resolves higher
        //force = true
       exclude module: 'support-v4'}

   // compile 'com.android.support:multidex:1.0.1'
    //compile 'com.crashlytics.android:crashlytics:1.+'
    compile project(':headerListView')
    compile files('libs/freemarker.jar')
    compile files('libs/httpmime-4.1.jar')
    compile files('libs/crashlytics.jar')
    compile files('libs/simple-xml-2.6.9.jar')
    compile files('libs/json-simple-1.1.1.jar')
    compile files('libs/greenDAO.jar')
    compile files('libs/gcm-src.jar')
    compile files('libs/gcm.jar')
    compile files('libs/greenDAO-generator.jar')
    compile files('libs/disklrucache-1.3.1.jar')
    compile files('libs/httpclient-4.2.3.jar')
    compile files('libs/trace.jar')
    compile files('libs/jackson-databind-2.1.4.jar')
    compile files('libs/jackson-core-2.1.4.jar')
    compile files('libs/jackson-annotations-2.1.4.jar')
    compile files('libs/universal-image-loader-1.8.4.jar')
    compile files('libs/universal-image-loader-1.8.4-sources.jar')
    compile files('libs/picasso-2.2.0.jar')
    compile project(':library')
    compile files('libs/Android-BitmapCache-2.1.jar')
    //compile 'org.jraf:android-switch-backport:1.3.1'
    compile files('libs/android-support-v13.jar') }

最佳答案

我在下面添加了 proguard-rules。

-keep class xxx.dao.**{*;}

(xxx是我放置DAO类文件的packageName。)

它对我有用。

关于java - Green Dao 无法初始化 DAOConfig,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34286982/

相关文章:

android - 从Android mp3歌曲中获取ArtistImage

android - 我们能否链接多个 API 调用或跟踪一次进行的多个调用?

java - 如何衡量效率(特别是 : assembly code) for java programs?

Java正则表达式解释

android - 在移动设备上检测隐藏/不可见的蓝牙设备

android - GreenDAO 与 Sqlcipher 集成示例

android - 绿道安卓工作室

java - 将对象传递给另一个 Activity

JavaFX - ListView <?扩展 V> - 泛型 - CellFactory

java - 尽管已初始化,但 Firebase 抛出未初始化的错误