我从greendao 3.2开始。我在libs文件夹中添加了greendao jar,并将其添加为库。我使用greendao-generator生成我的实体。它生成实体,但是生成的实体java一些注释和android studio在这些注释上给出错误。它给出了一个错误,无法找到"org.greenrobot.greendao.annotation.*"。如何解决这个问题?
可能你没有在你的应用模块中添加库。首先,你可以使用gradle dependency,而不是jar。在您的生成器项目中添加以下依赖项
compile 'org.greenrobot:greendao-generator:3.2.0'
那么你的生成器模块的gradle文件,应该是这样的
apply plugin: 'java'
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'org.greenrobot:greendao-generator:3.2.0'
}
在gradle文件(module app)中添加如下
compile 'org.greenrobot:greendao:3.2.0'
你的gradle主文件(module app)应该是这样的
apply plugin: 'com.android.application'
android {
compileSdkVersion 24
buildToolsVersion "24.0.2"
defaultConfig {
applicationId "com.tcs.a1003548.greendao"
minSdkVersion 14
targetSdkVersion 24
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:24.2.0'
compile 'org.greenrobot:greendao:3.2.0'
}
为什么将.jar放在libs
文件夹中而不使用Gradle
进行依赖管理?这很快就会导致依赖地狱。这就容易多了。
Inside main build.gradle
:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'org.greenrobot:greendao-gradle-plugin:3.2.0'
}
}
应用程序内部build.gradle
:
apply plugin: 'org.greenrobot.greendao'
dependencies {
compile 'org.greenrobot:greendao:3.2.0'
}