私のプロジェクトでは、NuGetのMicrosoft.EntityFrameworkCore.SQLite
パッケージを使用しています。 Android 7以降では、アプリがクラッシュするunauthorized access to "/system/lib64/libsqlite.so".
Android 7+でEF7 SQLiteを使用
これは、Android 7ではNDK以外のネイティブライブラリ(私が理解する限り)が許可されていないためです。この問題は、https://github.com/aspnet/EntityFramework/issues/7777も参照してください。
私は約2日間インターネットを研究し、Android 7でEFCoreを動作させるのに失敗しました。その1つはプレビューバージョンv2.0.0-preview1-final
にアップデートすることでした。しかし、これはアプリがコンパイルところ、以下のような他の問題が生じますが、エミュレータ上で起動/デプロイ中に墜落した:
06-21 09:58:18.970 D/Mono (3632): Assembly Loader probing location: 'System.Runtime.CompilerServices.Unsafe'.
06-21 09:58:18.970 F/monodroid-assembly(3632): Could not load assembly 'System.Runtime.CompilerServices.Unsafe' during startup registration.
06-21 09:58:18.970 F/monodroid-assembly(3632): This might be due to an invalid debug installation.
私は、その後に手動で「System.Runtime.CompilerServices.Unsafe」NuGetパッケージを追加しようとしました私のプロジェクト、それは問題を解決しませんでした。 さまざまなビルドパラメータなどを試してみましたが、実際にAndroid 7エミュレータでEFCoreのプレビューパッケージを実行しています。しかし、プロジェクトがクリーンで再構築された後、エラーが再び表示されました。
EFCore SqliteをAndroid 7で動作させる方法についてのヘルプはありますか? - 基本的にはちょうどVSからの基本的なAndroidのテンプレートで開始し、Nugetを追加https://github.com/tipa/EFCoreSample:
私は問題を再現するために、サンプルプロジェクトを作成しXamarin.Android 7.3.1.2
でのVisual Studio 2017を使用していますパッケージ
を私は何の問題もなくXamarin.Forms /アンドロイドでEFCoreを使用しています。パラメータをチェックするためにソリューションを公開リポジトリに投稿できますか? – hugoterelle
v2.0.0-preview1-finalパッケージのバージョンも使用していますか?サンプルプロジェクトを行います。 – tipa
Microsoft.EntityFrameworkCore.Sqliteバージョン1.1.2およびNugetの依存関係は1.1.1です。または1.1.2。 – hugoterelle