0

我们目前在这个项目中使用 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文件夹中的下一个可序列化类。我真的不想抑制警告,因为在这种情况下这似乎是不好的做法。

4

1 回答 1

1

在 MyClassTest.java 中添加一个 serialVersionUID 字段
一个好的做法可能是设置最后修改日期

public class MyClassTest {
    private static final long serialVersionUid = 6082019L;
}

更多信息可在这篇文章中找到

于 2019-08-06T14:49:04.167 回答