Sqlite Xamarin android nougat

问题描述:

我昨天升级了我的Nexus 5X,在新的操作系统上测试我的应用程序,并且我收到一个消息框,声明它们是sqlite的错误。从网络上看,我发现由于Google的变化,Android N现在只允许链接到NDK提供的本地库。 libsqlite.so不是NDK提供的本机库,所以现在我的应用程序崩溃了。Sqlite Xamarin android nougat

有人试过使用libsqlite3_xamarin.so吗?似乎是一个解决方案?人们在说我们可能会将libsqlite绑定到应用程序。 Cann有人告诉我如何通过visualstudio实现这一目标?

非常感谢!

+1

通常只是一个更新和重建,请参阅'共同库受影响'https://blog.xamarin.com/preparing-for-native-library-linking-changes-in-android-n/和sqlite共享库将被包含在你的包中 – SushiHangover

+0

这就是我所做的。删除所有SQLiteréférences然后通过Nuget控制台我运行安装sqlite-net-pcl。它的作用就像是魅力 –

一个简单的解决方案是使用NuGet的最新版本的sqlite-net-pcl包。

Android N的限制是内置的Sqlite库只能与android.database.sqlite类一起使用。使用NuGet的软件包会将该库的一个版本添加到您的项目中。

Eric水槽有关于问题here的更多详细信息。

mono组提供的新System.Data.dll包含sqlite.so nativa库名称libsqlite3_xamarin.so的嵌入版本。要包含这个库,你只需要重新构建你的项目。如果您正在使用任何其他访问/system/lib/libsqlite.so的库,则这将无法在Android N中运行。每个库都应该嵌入sqlite。