2016-09-21 4 views
1

어제 새 Nexus 5X를 업그레이드하여 새 OS에서 내 응용 프로그램을 테스트했으며 sqlite에서 오류가 발생했다는 메시지가 나타납니다. 웹에서 보면 Google의 변경으로 인해 Android N은 현재 NDK 제공 네이티브 라이브러리에 대한 연결 만 허용합니다. libsqlite.so는 NDK가 제공하는 네이티브 라이브러리가 아니므로 지금 내 앱이 충돌합니다.Sqlite Xamarin android nougat

누군가 libsqlite3_xamarin.so를 사용하려고 했습니까? 해결책으로 보입니까? 사람들은 libsqlite를 앱에 묶어 둘 수 있다고 말하고 있습니다. Cann 누군가가 visualstudio를 통해 이것을 달성하는 방법을 telle?

대단히 감사합니다!

+1

일반적으로 업데이트와 재구성 만하면,'Common Libraries Impacted' https://blog.xamarin.com/preparing-for-native-library-linking-changes-in-android-n/와 sqlite 공유 라이브러리는 귀하의 패키지에 포함되어 – SushiHangover

+0

이것은 내가 한 일입니다. 모든 SQLite를 삭제 한 다음 Nuget 콘솔을 통해 sqlite-net-pcl 설치를 실행합니다. 그것은 매력처럼 작동합니다. –

답변

3

NuGet의 최신 버전 인 sqlite-net-pcl 패키지를 사용하면 쉽게 해결할 수 있습니다.

Android N의 제한 사항은 내장 된 Sqlite 라이브러리가 android.database.sqlite 클래스에서만 사용할 수 있다는 것입니다. NuGet의 패키지를 사용하면 라이브러리 버전이 프로젝트에 추가됩니다.

에릭 싱크에 대한 자세한 내용은 here입니다.

0

모노 팀에서 제공하는 새로운 System.Data.dll에는 sqlite.so nativa 라이브러리 이름 libsqlite3_xamarin.so가 포함되어 있습니다. 이 라이브러리를 포함 시키려면 프로젝트를 다시 빌드하기 만하면됩니다. /system/lib/libsqlite.so에 액세스하는 다른 라이브러리를 사용하는 경우 Android N에서 작동하지 않습니다. 모든 라이브러리에는 sqlite가 포함되어야합니다.

관련 문제