2016-09-21 53 views
1

我昨天升級了我的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。它的作用就像是魅力 –

回答

3

一個簡單的解決方案是使用NuGet的最新版本的sqlite-net-pcl包。

Android N的限制是內置的Sqlite庫只能與android.database.sqlite類一起使用。使用NuGet的軟件包會將該庫的一個版本添加到您的項目中。

Eric水槽有關於問題here的更多詳細信息。

0

mono組提供的新System.Data.dll包含sqlite.so nativa庫名稱libsqlite3_xamarin.so的嵌入版本。要包含這個庫,你只需要重新構建你的項目。如果您正在使用任何其他訪問/system/lib/libsqlite.so的庫,則這將無法在Android N中運行。每個庫都應該嵌入sqlite。