This is how I solved it, and how you can ship your application with a pre-populated database (up to Room v. alpha5)
-
put your SQLite DB
database_name.dbinto theassets/databasesfolder -
take the files from this repo and put them in a package called i.e.
sqlAsset -
in your
AppDatabaseclass, modify your Room’s DB creation code accordingly:Room.databaseBuilder(context.getApplicationContext(), AppDatabase.class, "database_name.db") .openHelperFactory(new AssetSQLiteOpenHelperFactory()) .allowMainThreadQueries() .build();
Note that you have to use "database_name.db" and not getDatabasePath() or other methods: it just needs the name of the file.