Toon posts:

[ C# | Android ] error loading library libe_sqlite3

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hallo allen,

Ik probeer SQLite te gebruiken in een Android app, gemaakt in Visual Studio 2015. Via de NuGet Package Manager heb ik sqlite-net-pcl van Frank A. Krueger geïnstalleerd op het project. Hij het uitvoeren krijg ik echter de onderstaande error:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
02-28 23:40:11.006 D/Mono (11235): DllImport attempting to load: 'e_sqlite3'.
02-28 23:40:11.007 D/Mono (11235): DllImport error loading library '/storage/emulated/0/Android/data/AppName.TimeTracker/files/.override/libe_sqlite3': 'dlopen failed: library "/data/app/AppName.TimeTracker-1/lib/arm//storage/emulated/0/Android/data/AppName.TimeTracker/files/.override/libe_sqlite3" not found'.
02-28 23:40:11.007 D/Mono (11235): DllImport error loading library '/storage/emulated/0/Android/data/AppName.TimeTracker/files/.override/libe_sqlite3.so': 'dlopen failed: library "/data/app/AppName.TimeTracker-1/lib/arm//storage/emulated/0/Android/data/AppName.TimeTracker/files/.override/libe_sqlite3.so" not found'.
02-28 23:40:11.008 D/Mono (11235): DllImport error loading library '/system/lib/libe_sqlite3': 'dlopen failed: library "/data/app/AppName.TimeTracker-1/lib/arm//system/lib/libe_sqlite3" not found'.
02-28 23:40:11.008 D/Mono (11235): DllImport error loading library '/system/lib/libe_sqlite3.so': 'dlopen failed: library "/data/app/AppName.TimeTracker-1/lib/arm//system/lib/libe_sqlite3.so" not found'.
02-28 23:40:11.008 D/Mono (11235): DllImport error loading library 'libe_sqlite3': 'dlopen failed: library "/data/app/AppName.TimeTracker-1/lib/arm/libe_sqlite3" not found'.
02-28 23:40:11.009 D/Mono (11235): DllImport loaded library 'libe_sqlite3.so'.
02-28 23:40:11.009 D/Mono (11235): DllImport searching in: 'e_sqlite3' ('libe_sqlite3.so').
02-28 23:40:11.009 D/Mono (11235): Searching for 'sqlite3_libversion_number'.
02-28 23:40:11.021 D/Mono (11235): DllImport searching in: 'e_sqlite3' ('libe_sqlite3.so').
02-28 23:40:11.021 D/Mono (11235): Searching for 'sqlite3_open_v2'.
02-28 23:40:11.037 D/Mono (11235): DllImport searching in: 'e_sqlite3' ('libe_sqlite3.so').
02-28 23:40:11.037 D/Mono (11235): Searching for 'sqlite3_busy_timeout'.


Het bestand libe_sqlite3.so wordt dus niet gevonden. Het bestand is echter wel meerdere malen te vinden in de apk:
Afbeeldingslocatie: https://s9.postimg.org/9bx4ihusf/Capture.png

Elke folder heeft deze lijst met bestanden:
Afbeeldingslocatie: https://s30.postimg.org/fnkphtcu9/files.png

Maar is daarna niet te vinden op de locatie op de telefoon (Moto G3 2015):
Afbeeldingslocatie: https://s29.postimg.org/x0ev887nb/screenshot.png

Zowel in Debug als Release mode is de error het zelfde. Zowel via de NuGet Package Manager als via de Package Manager Console (a.d.h.v. YouTube video waarin iemand de library installeert en een werkende database demo app toont) geprobeerd de Library opnieuw te installeren. Beide helaas zonder goed resultaat.

Wat doe ik hier niet goed?

[ Voor 3% gewijzigd door Verwijderd op 01-03-2017 21:17 . Reden: Extra afbeelding met toelichting ]

Alle reacties


Acties:
  • 0 Henk 'm!

  • codeclap
  • Registratie: Juni 2015
  • Laatst online: 29-06-2024
In je log wordt er meerdere malen gerefereerd naar arm, in je (eerste) screenshot screenshot is dit x86.. Lijkt mij dat hier iets niet helemaal juist gaat!

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
codeclap schreef op woensdag 1 maart 2017 @ 19:54:
In je log wordt er meerdere malen gerefereerd naar arm, in je (eerste) screenshot screenshot is dit x86.. Lijkt mij dat hier iets niet helemaal juist gaat!
Ik heb een extra afbeelding toegevoegd. Hierin is te zien wel andere folders er nog zijn in de APK. Elke folder heeft de zelfde lijst bestanden.

Acties:
  • 0 Henk 'm!

  • codeclap
  • Registratie: Juni 2015
  • Laatst online: 29-06-2024
Tweede puntje wat me opvalt:

Debug log:
AppName.TimeTracker
Screenshot:
ApeksIT.TimeTracker

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Dat had ik zelf in de error even aangepast, maar in de screenshot is de originele naam te zien. 8)7 Maar dit veranderd alleen niets aan de error. O-)

[ Voor 18% gewijzigd door Verwijderd op 02-03-2017 14:04 ]


Acties:
  • +1 Henk 'm!

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 27-09 13:03
02-28 23:40:11.009 D/Mono (11235): DllImport loaded library 'libe_sqlite3.so'
Volgens mij gaat er niets fout? ( Tenminste niet in dit gedeelte van de log )

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


Acties:
  • +2 Henk 'm!

  • zwittrooper
  • Registratie: April 2009
  • Laatst online: 13:48
@Verwijderd Je gebruikt denk ik Xamarin bij het maken van de app? Heb je toevallig Android 7 (Nougat) op je telefoon staan (of target je dit in de app)?

Google heeft namelijk enkele wijzigingen doorgevoerd in Android 7 waardoor de laatste versie (3.1.1) van de SqLite.Net-PCL library niet compatible is met Android 7.
https://blog.xamarin.com/...ing-changes-in-android-n/

Ik heb in mijn eigen apps een NuGet package toegevoegd die dit probleem tijdelijk oplost, totdat de makers van de SqLite.Net library met een nieuwe versie komen. https://www.nuget.org/pac...Platform.XamarinAndroidN/

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
farlane schreef op vrijdag 3 maart 2017 @ 11:48:

Volgens mij gaat er niets fout? ( Tenminste niet in dit gedeelte van de log )
Gister weer een stukje verder gekomen. Er bleek ergens anders een foutje te zitten, wat in de zelfde functie zat waar ik de db aanroep. Waarom de errors er dan staan, snap ik dan niet helemaal.

@zwittrooper Ik heb Android 5.1.1 op mijn telefoon staan, dus voor mij is het probleem opgelost. Maar goed om te weten, dank je wel.

(De eigenlijke bug had niets met de db connectie te maken en is daardoor verder niet relevant om te vermelden.)

[ Voor 9% gewijzigd door Verwijderd op 07-03-2017 18:03 . Reden: Toelichting over oplossing. ]


Acties:
  • +1 Henk 'm!

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 27-09 13:03
Verwijderd schreef op zondag 5 maart 2017 @ 11:11:
[...]
Gister weer een stukje verder gekomen. Er bleek ergens anders een foutje te zitten, wat in de zelfde functie zat waar ik de db aanroep. Waarom de errors er dan staan, snap ik dan niet helemaal.
De log laat zien dat het systeem op verschillende plekken libe_sqlite3 .so probeert te laden. Het lukt een aantal keren niet maar daarna (zonder een specifiek pad erbij te loggen) lijkt het toch te lukken. Het lijkt misschien alsof het niet lukt maar zover ik kan zien krijgt hij het toch voor elkaar, temeer hij daarna aangeeft naar specifieke exports ( sqlite3_libversion_number, sqlite3_open_v2 ) te zoeken in de geladen library.

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.

Pagina: 1