room 的 createFromAsset()与createFromFile怎么使用?一直提示Unable to copy database file,但是不知道哪里出了问题

room 的 createFromAsset()与createFromFile怎么使用?一直提示Unable to copy database file,但是不知道哪里出了问题
instance= Room.databaseBuilder(context.getApplicationContext(),AppDatabase.class,"learnDB")
                        .allowMainThreadQueries()
                        //强制升级
                        .fallbackToDestructiveMigration()

// .addMigrations(MIGRATION_1_2)
// .createFromAsset("assets/databases/test.db")
.createFromAsset("databases/test.db")
// .createFromFile(new File("aa/test.db"))
.build();

报错:

img


文件位置:

img

文件位置应该没什么问题吧,然后估计就是数据库我试过自己重新创建,也已经试过直接用本app生成数据库文件并创建数据,再导出来放到目录下也不行,还有可能是文件权限问题,但是assets下的另外两个文件也是能读取到的,有没有人知道是咋回事呢?

路径写成:"assets/databases/xxx.db",并在AppDataBase类上添加exportSchema()注解。试试

img

   终于好了,谢谢各位了,由于没有看回答,两位大哥的方法还没有试过,大家遇到此问题也可以试一下。总结一下踩的坑,1.直接使用本app创建数据库并添加数据,然后使用工具把数据库文件导出来,并且将数据库文件放到assets文件目录下,这种做法是可行的(我用工具导出来的时候把与本表无关的两个表给删了,不删不知道行不行)。2.自己直接在SQLite工具上创建表(感觉不好使用,数据多的时候好烦,而且自己生成的表有可能很多地方与room帮你生成的表有不一样,需要对比着改)  
   最后,我也不太清楚问题解决的原因,我主要是重新创建了assets文件夹,然后就好,之前我是直接创建的,后面是这样创建的,不知道是不是玄学0.0

img