Sqlcipher für Android: ICUDT46L.ZIP Wirklich benötigt?
-
21-12-2019 - |
Frage
Ich hatte erwartet, dass die Lokalisierungsdatendatei icudt46l.zip nicht wirklich benötigt wurde, aber wenn ich es nicht auf den nexus 5 einfüge, bekomme ich einen Laufzeitfehler:
E/AndroidRuntime(4341): Caused by: net.sqlcipher.database.SQLiteException: not an error
Dies bedeutet, dass insgesamt fast
- 2.7MB Assets / ICUDT46L.ZIP
- 0.2MB lib / armabi / libdatabase_sqlcipher.SO
- 2.3MB lib / armabi / libsqlcipher_android.SO
- 0,4 MB LIB / ARMEABI / LIBSTLPORT_SHARED.SO
- 0,1 MB lib / commons-codec.jar
- 1.1 MB LIB / GUAVA-R09.JAR
- 0,1 MB lib / sqlcipher.jar
ist jeder andere die Notwendigkeit, die Datei ICUDT46L.ZIP aufzunehmen?
Lösung
Zitieren Die Dokumentation für sqlcipher für Android :
sqlcipher für Android hängt von der Lokalisierungsdaten von das ICU-Projekt ab. SQLChrofist für Android wird versuchen, ein System mitzuteilen, das mit der ICU-Lokalisierungsdatendatei namens ICUDT46L.DAT, die sich im Verzeichnis / system / usr / icu befindet, verwendet, falls verfügbar. Wenn das nicht gefunden wird, versucht SQLChrobring für Android, die ICUDT46L.ZIP-Datei innerhalb des Anwendungsverzeichnisses in Anwendungen zu entpacken. Es wird empfohlen, dass die ICUDT46.ZIP-Datei mit Ihrer Anwendung für beste Plattformkompatibilität aufgenommen wird. Wenn Sie die Größe der Lokalisierungsdaten für Ihre Anwendung anpassen müssen, ist ein ICU-Datenbibliothek-Customizer verfügbar hier .
Ich bin mir keine Version von Android bewusst, in der die Systemdaten der systemversorgeren ICU-Daten den Bedürfnissen der SQLChrcips erfüllt.
Andere Tipps
Wenn Sie Gradle verwenden, um es von Maven Central zu erhalten, müssen Sie sich nicht um seine Abhängigkeiten kümmern.Es hat tatsächlich einige dieser Bibliotheken wie Guave- und Apache-Commons abgeworfen, also ist in beiden Größen- und Methodenzählungen viel kleiner.
compile 'net.zetetic:android-database-sqlcipher:3.4.0'