1. 程式人生 > >androidstudio配置和使用greenDao3.2.2遇到的坑!!!

androidstudio配置和使用greenDao3.2.2遇到的坑!!!

被虐了一遍在此記錄一下,也順帶給後人指個路:

1、在官網下的最新版本3.2.2,按照官網的配一遍,報錯資訊如下:


甚至我倆的gradle版本號都一模一樣,都是2.2.2和2.14.1

3、按照他的方法新下了個gradle,

設定了 user loacl gradle distribution

發現還是不好使,這回報錯資訊是:


4、WTF!這又是啥,按照他的思路,就在gradle方面找原因。

直接把androidStudio都升級到了最新的2.3.3

5、這回連毛都不好使了,連ButterKnife都can't recognize了,應該是gradle已經罷工了,

所以還是用了Androidstudio推薦的

use default gradle wrapper(recommand)

它會自動下載一遍和Androidstudio版本對應的gradle(版本號也是2.3.3)

6、重啟、gradling、bingo!

7、最後的配置如下,project的gradle:

buildscript {
    repositories {
        jcenter()
        mavenCentral() // add repository
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.3'
        classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2'
    }
}

allprojects {
    repositories {
        jcenter()
    }
}
主module的gradle:
apply plugin: 'com.android.application'
apply plugin: 'org.greenrobot.greendao'

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.0"
    dexOptions {
        preDexLibraries true
        javaMaxHeapSize "4g"
        dexInProcess = true
    }
    aaptOptions{
        cruncherEnabled = false
        useNewCruncher = false
    }
    defaultConfig {
        multiDexEnabled true
        applicationId "XXX.XXX.XXX"
        minSdkVersion 16
        targetSdkVersion 25
        buildToolsVersion "25.0.0"
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_1_7
            targetCompatibility JavaVersion.VERSION_1_7
        }
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

greendao {
    schemaVersion 1
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:support-v4:25.0.0'
    compile 'com.android.support:multidex:1.0.0'
    compile 'com.jakewharton:butterknife:8.7.0'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.7.0'
    compile 'org.greenrobot:greendao:3.2.2'
}

8、建好model後不要急著去modelDao,要先gradle一遍,利用greenDao外掛掃描所有實體,

生成所有工具類,生成的結果如下,生成了DaoMaster和DaoSession和實體類的Dao:


一步步去初始化和使用了