Skip to content Skip to sidebar Skip to footer

Unable To Copy Database Using Sqliteassethelper Class

I am extending SQLiteAssetHelper class to use my pre-populated database from assets folder but my app crashed and gave an error saying Caused by: android.database.sqlite.SQLiteCant

Solution 1:

Missing databases/mydb.sqlite file (or .zip, .gz archive) in assets, or target folder not writable

Do you have the database file in your assets/databases folder?

no, in assets folder only

SQLiteAssetHelper expects to find the prepopulated database file in databases folder under assets.

Solution 2:

Right click on your database file in the Package Explorer,

& click on the Properties.

inside the Resource Tab make sure the "Write" Permission is Checked for the "Owner" and "Read" Permission is Checked for all the "Users".

Solution 3:

Make sure you have the db file under assets\databases folder in your app, in the main folder.

Also make sure you have specified the correct database name, so if your file name is data.db, your database name should be data.db.

publicclassMyHelperDatabaseextendscom.readystatesoftware.sqliteasset.SQLiteAssetHelper {

    privatestaticfinalStringDATABASE_NAME="data.db";

Or if you are using Room:

publicabstractclassAppDatabaseextendsRoomDatabase {

    privatestatic AppDatabase INSTANCE;

    @VisibleForTestingpublicstaticfinalStringDATABASE_NAME="data.db";

Solution 4:

  1. Error: "Missing databases/EDMTQuiz2019.db file".
  2. Cause: my folder was not named properly... It was assets/database, Instead of assets/databases
  3. Solution: I solved mine by refactoring/renaming the folder "database" to "databases"
  4. Summary: the new right path is assets/databases (the .db file is in the database folder)

Post a Comment for "Unable To Copy Database Using Sqliteassethelper Class"