Sto cercando di creare un'app Xamarin Form utilizzando il nuovo Entity Framework Core. L'app ha come target Android 6.0 ma il mio emulatore funziona con Android 7.0. Ho installato i seguenti pacchetti relativi a Nuget sul progetto Android:
Quando si accede al mio DbContext su Android apparirà un messaggio che dice: Problemi rilevati con librerie native accesso non autorizzato a "/system/lib/libsqlite.so".
Questo thread del forum Xamarin suggerisce che è dovuto al fatto che i binari SqLite nativi non sono più supportati (su Android 7?) E la soluzione comune sembra essere quella di passare al PCL SqLite.Net.
Tuttavia, dato che Microsoft.EntityFrameworkCore.Sqlite dipende da Microsoft.Data.Sqlite che a sua volta dipende dal pacchetto SqLite nativo, non posso semplicemente sostituirlo (o posso?)
Stranamente, nonostante il messaggio di errore che suggerisce il contrario, l'accesso ai dati sembra funzionare. Almeno le migrazioni vengono eseguite e le scritture ripetute nel database creeranno nuovi ID.
Ovviamente potrei semplicemente eliminare EF Core ma immagino che molte persone stiano cercando di usarlo per Xamarin in futuro. Quindi sarebbe bello se qualcuno trovasse / sapesse una soluzione.
Ho avuto lo stesso problema. Ho risolto questo problema utilizzando le seguenti librerie: sqlite-net-pcl (versione 1.2.0), SQLitePCLRaw.bundle_green, SQLitePCLRaw.core, SQLitePCLRaw.lib.e_sqlite3.android, SQLitePCLRaw.provider.e_sqlite3.android.