先看报错信息:
Pb(96) The serializable class DBPrefModel does not declare a static final serialVersionUID field of type long (536871008 at line 15).
Run gradle with --info for more details.
百度之后,发现是因为在实体类中需要定义一个
* <PRE>
* ANY-ACCESS-MODIFIER static final long serialVersionUID = 42L;
* </PRE>
这样的东西,于是查看怎样自动生成一个UID。
网上大部分为这样的解决办法:
1、File -> Settings... -> Editor -> Inspections -> Serialization issues[在java类目下] -> Serializable class without 'serialVersionUID'(选中)
2、进入实现了Serializable中的类,选中类名,Alt+Enter弹出提示,然后直接导入完成
可是我的Android studio 死活不给我提示。在我同事电脑试了,也不好使。他居然不加UID,也能跑起来,greendao版本同为3.2.2(猜测应该是gradle版本的原因,此处不考虑这种问题)。
自己随便写个又很担心,于是找到了这个插件:
屏幕快照 2018-07-25 17.25.19.png
安装重启后,common+N。就可以看到了:
屏幕快照 2018-07-25 17.26.33.png
选择,就自动生成了。
private static final long serialVersionUID = -4621715087305128172L;
编译,就可以跑起来了。