我们目前在这个项目中使用 greenDAO3。我相信我们在某个时候使用了 greenDAO2,因为似乎我们使用的是遗留生成器类。
因此,我正在尝试为应用程序中的新功能向数据库添加一个新表。我对 greenDAO 不是很熟悉,但我认为让它在构建时使用 Gradle 自动生成文件会更容易。
一切正常,但是在我的root.gradle和app.gradle中添加了一些东西后,我收到此错误。
ERROR: Found 1 problem(s) parsing "/Users/Dustin/Projects/project/app/src/main/java/com/package1/package2/db/MyClassTest.java". First problem:
Pb(96) The serializable class MyClassTest does not declare a static final serialVersionUID field of type long (536871008 at line 18).
这些是我所做的更改。
diff --git a/app/build.gradle b/app/build.gradle
index 40b3b80d..60f2a688 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -1,4 +1,7 @@
apply plugin: 'com.android.application'
+apply plugin: 'com.google.gms.google-services'
+apply plugin: 'org.greenrobot.greendao'
+apply plugin: 'com.google.gms.google-services'
apply plugin: 'io.fabric'
android {
@@ -234,4 +237,7 @@ dependencies {
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
}
-apply plugin: 'com.google.gms.google-services'
No newline at end of file
+greendao {
+ schemaVersion 24
+}
+
当我禁止显示警告时,它会继续到 db
文件夹中的下一个可序列化类。我真的不想抑制警告,因为在这种情况下,这似乎是不好的做法。
在 MyClassTest 中添加一个 serialVersionUID 字段.java
一个好的做法可能是设置上次修改日期
public class MyClassTest {
private static final long serialVersionUid = 6082019L;
}
更多信息可在这篇文章中找到