問題:
使用ActiveAndroid這個(gè)ORM框架,在Debug的時(shí)候會(huì)出現(xiàn)以下報(bào)錯(cuò)信息導(dǎo)致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 ” />
在官方文檔中也找到了這段代碼

翻譯:
加快應(yīng)用程序啟動(dòng)
ActiveAndroid將通過所有的文件來查找你的模型類。如果你有很多的依賴關(guān)系,這個(gè)過程可能會(huì)很慢。為了加速這個(gè)過程,在你的AndroidManifest中明確地指定你的Model類
但是?。?!加完這段代碼后還是報(bào)
java.lang.String com.activeandroid.TableInfo.getTableName()' on a null object reference
解決過程:
查看日志發(fā)現(xiàn)報(bào)com.activeandroid.TableInfo.getTableName()錯(cuò)誤
的地方不在第一張表,而是第二張表,導(dǎo)出database查看發(fā)現(xiàn)只創(chuàng)建了第一張表。

那么是不是表一對應(yīng)的model類與表二對應(yīng)的model類是否存在格式上的差異,導(dǎo)致表不能創(chuàng)建。
但是在對比之后還是找不到錯(cuò)誤原因。
重點(diǎn)來了。。
不知道自己怎么想的,我把清單注明的類與類之間逗號分割的空格去掉。然后run一下項(xiàng)目發(fā)現(xiàn)居然正常了。
最終解決方法:
