ericsink / SQLitePCL.raw

A Portable Class Library (PCL) for low-level (raw) access to SQLite
Apache License 2.0
512 stars 106 forks source link

Crash on Android 4.4.4 with version 2.1.7, error DllNotFoundException. e_sqlite3 #579

Open Stensan opened 6 months ago

Stensan commented 6 months ago

SQLitePCLRaw handles many platforms and configurations. If you are having trouble, we typically need a LOT of information from you in order to help figure out what is going wrong.

The following questions are provided to help you see what kinds of information we need:

What version of SQLitePCLRaw are you using? 2.1.7

If you are using one of the SQLitePCLRaw bundle packages, which one? SQLitePCLRaw.bundle_green

What platform are you running on? What operating system? Which version? What CPU? Android 4.4.4

What target framework are you building for? Xamarin.Android

Are you on .NET Framework or the newer stuff (.NET Core, .NET 5+, etc)? Xamarin.Android

Are you using the command line, or an IDE? Which IDE? Which version of that IDE? Visual Studio 2022

Is this problem something that just started happening? For example, were things working well for you and then you updated something and then the problem showed up? What changed? Yes, this happens in the newest version. I had no problem in version 2.1.2. So the workaround for this is to install 2.1.2.

What is the exact error message you are seeing when the problem happens? DllNotFoundException. e_sqlite3 assembly: type: member:(null) at (wrapper managed-to-native) SQLitePCL.SQLite3Provider_e_sqlite3+NativeMethods.sqlite3_libversion_number() at SQLitePCL.SQLite3Provider_e_sqlite3.SQLitePCL.ISQLite3Provider.sqlite3_libversion_number () [0x00000] in <1ba98b7c5eb149d3876c5773d02c38a3>:0 at SQLitePCL.raw.SetProvider (SQLitePCL.ISQLite3Provider imp) [0x00008] in :0 at SQLitePCL.Batteries_V2.Init () [0x00005] in :0

Are you using PackageReference or packages.config? PackageReference

If you are using mobile platforms, are you on classic/legacy Xamarin or on .NET 6 and higher? Xamarin.Android (classic/legacy)

Sometimes other packages using SQLitePCLRaw cause problems when they are mixed together. What other packages are you including in your project? sqlite-net-pcl

How can we reproduce the problem you are seeing? Your issue will get attention much faster if you attach a minimal reproduction sample project. Use an older smartphone with Android 4.4.4.

ericsink commented 6 months ago

IIRC, we recently needed to increase the minimum supported Android API level.

Somewhat related: Somewhat soon I will be dropping support for classic Xamarin targets. Microsoft itself will be ending Xamarin support in May 2024.

Stensan commented 6 months ago

Thanks for the quick response. We are already in the process of changing to .NET 8. We will use 2.1.2 as a workaround for this customer. You can close the issue, if you want to.