解决'java.lang.String com.activeandroid.TableInfo.getTableName()' on a null object reference的小坑

问题:

使用ActiveAndroid这个ORM框架,在Debug的时候会出现以下报错信息导致crash

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String 
com.activeandroid.TableInfo.getTableName()' on a null object reference

但是打包出来的release版本确是正常的。
查了很多资料基本都是在清单文件加入

< meta-data 
    android :name = “ AA_MODELS ”
     android :value = “ com.myapp.model.Item,com.myapp.model.Category ” />

在官方文档中也找到了这段代码


翻译:
加快应用程序启动
ActiveAndroid将通过所有的文件来查找你的模型类。如果你有很多的依赖关系,这个过程可能会很慢。为了加速这个过程,在你的AndroidManifest中明确地指定你的Model类

但是!!!加完这段代码后还是报
java.lang.String com.activeandroid.TableInfo.getTableName()' on a null object reference

解决过程:

查看日志发现报com.activeandroid.TableInfo.getTableName()错误
的地方不在第一张表,而是第二张表,导出database查看发现只创建了第一张表。


那么是不是表一对应的model类与表二对应的model类是否存在格式上的差异,导致表不能创建。
但是在对比之后还是找不到错误原因。
重点来了。。
不知道自己怎么想的,我把清单注明的类与类之间逗号分割的空格去掉。然后run一下项目发现居然正常了。

最终解决方法:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,958评论 25 709
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 32,412评论 18 399
  • 我拥有一个完整幸福美满的家庭,有关爱我包容我的老公,有帮我照顾孩子照料我生活的婆婆,有一个可爱健康的孩子,这些都使...
    胡图图妈妈阅读 3,860评论 0 1
  • 吕克的梦想是成为一名医生。为了照顾家庭,他只能将梦想藏在心中,跟着爸爸学习做面包的手艺。后来,在朋友的帮助下,爸爸...
    Somi_Yuan阅读 1,846评论 1 0
  • 你现在所经历的东西,一定都会成为你未来的财富。 找工作真的是件很磨人的事情,身边的同学一个又一个拿到了...
    你好_疯子阅读 2,849评论 0 0

友情链接更多精彩内容