SQLiteReadOnlyDatabaseException: attempt to write a readonly database (code 1032)
是因为res/raw的文件复制过去之后没有读写的权限
于是我想到了第一种解决方法治标不治本:
我去到app的databases目录下对数据库文件进行加权限
chmod 777 xxx
然后就可以正常运行。
但是这种方法对于每次重装app都需要重新跑一次上面的加权限的流程,比较麻烦。
第二种治本:
原来我是在BaseApplication里面进行复制数据库,但是发现不能写,只可以读,每当插入数据就报上面的错误
后来我参考了stackoverflow后就在DBHelper里面删除后再进行复制,后来就好了
@Override public void onCreate(SQLiteDatabase db) { mContext.deleteDatabase(DB_NAME); getmDb();