Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android的SQLCipher:icudt46l.zip真的需要吗?_Android_Android Sqlite_Sqlcipher - Fatal编程技术网

Android的SQLCipher:icudt46l.zip真的需要吗?

Android的SQLCipher:icudt46l.zip真的需要吗?,android,android-sqlite,sqlcipher,Android,Android Sqlite,Sqlcipher,我原以为不需要本地化数据文件icudt46l.zip,但如果我没有将其包含在Nexus 5中,就会出现运行时错误: E/AndroidRuntime(4341):由以下原因引起:net.sqlcipher.database.SQLiteException:非错误 这意味着总体而言,SQLCipher for Android需要7MB的额外文件 -270万资产/icudt46l.zip -0.2MB lib/armeabi/libdatabase_sqlcipher.so -2.3MB lib/a

我原以为不需要本地化数据文件icudt46l.zip,但如果我没有将其包含在Nexus 5中,就会出现运行时错误:

E/AndroidRuntime(4341):由以下原因引起:net.sqlcipher.database.SQLiteException:非错误

这意味着总体而言,SQLCipher for Android需要7MB的额外文件 -270万资产/icudt46l.zip
-0.2MB lib/armeabi/libdatabase_sqlcipher.so
-2.3MB lib/armeabi/libsqlcipher_android.so
-0.4MB lib/armeabi/libstlport_共享。因此
-0.1MB lib/commons codec.jar
-1.1MB lib/guava-r09.jar
-0.1MB lib/sqlcipher.jar

其他人是否都需要包含icudt46l.zip文件?

引用:

SQLCipher for Android取决于来自的本地化数据。SQLCipher for Android将尝试使用系统提供的ICU本地化数据文件icudt46l.dat,该文件位于/system/usr/ICU目录(如果可用)中。如果没有找到,SQLCipher for Android将尝试解压缩位于应用程序资产目录中的icudt46l.zip文件。建议将icudt46.zip文件包含在应用程序中,以实现最佳的平台兼容性。如果需要调整应用程序本地化数据的大小,可以使用ICU数据库定制程序


我不知道有哪个版本的Android系统提供的ICU数据满足SQLCipher的需要。

如果您使用gradle从maven central获取数据,您不需要担心它的依赖性。它实际上已经去掉了一些库,比如guava和ApacheCommons,所以在大小和方法数量上都要小得多


编译'net.zettetic:android数据库sqlcipher:3.4.0'

这里有进一步的讨论: