In previous releases,
Mono.Data.Sqlite.dll would P/Invoke into the OS-provided
/system/lib/libsqlite.so native library. Starting with Android N, Android will no longer permit this behaviour, so previous versions of
Mono.Data.Sqlite.dll will throw a
DllNotFoundException when attempting to use SQLite functionality when executing on Android N.
Mono.Data.Sqlite.dll will now bundle and distribute a custom SQLite, named
libsqlite3_xamarin.so, which will automatically be bundled into the app.apk when
Mono.Data.Sqlite.dll is referenced.
Existing users of
Mono.Data.Sqlite.dll need only rebuild their app.
However, if any other assembly is P/Invoking sqlite, sqlite3, or variations thereof, these SQLite uses will not be updated. Those other assemblies will need to be updated. For example, SQLitePCL.raw 0.6.0 will not work on Android N, while the updated SQLitePCL.raw 0.8.6 has been updated to distribute its own copy of SQLite, and will work on Android N.