使用SQLCipher闪退的问题

日前开始一个新的项目,由于考虑的数据安全的问题使用了sqlcipher加密数据库。
需要扫描二维码功能,所以在AndroidManifest.xml中声明了使用Camera权限。
当使用Config.ARGB_8888配置,把JPG图片转化为Bitmap时,会出现闪退的情况。

错误信息如下:
E/IspDrv(31406): {IspDrv} [mediatek/platform/mt6589/hardware/camera/core/drv/isp/isp_drv.cpp, init, line1526] ERROR: m_pRTBufTbl mmap FAIL
E/iio/ifunc(31406): [mediatek/platform/mt6589/hardware/camera/core/imageio/drv/cam/isp_function.cpp, init, line1103] ERROR: getRegAddr fail
E/IspDrv(31406): {IspDrv} [mediatek/platform/mt6589/hardware/camera/core/drv/isp/isp_drv.cpp, GlobalPipeCountInc, line2209] ERROR: ISP_REF_CNT_INC fail(-1)[errno(9):Bad file number]
E/IspDrv(31406): {IspDrv} [mediatek/platform/mt6589/hardware/camera/core/drv/isp/isp_drv.cpp, reset, line1960] ERROR: ISP_RESET fail(-1)
A/libc(31406): Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1), thread 33406 (0.DBsqlcipher)

以上三个条件同时满足时,才会出现这个问题,这个问题仅出现在联想,华为,TCL等使用MTK芯片的低端手机上。

各位大神,帮慢看看,如何解决这个问题? 谢谢!

0

2个回答

换一种config格式试试,

1
gltong1988
跳梁小丑-123 谢谢您的耐心解答,我换一下数据库路径试试
4 年多之前 回复
forlong401
forlong401 回复gltong1988: 可能是你的存储路径或者图片进行加密正好用到了那个isp_drv.cpp里面的某处代码所致。
4 年多之前 回复
gltong1988
跳梁小丑-123 谢谢您的回答,有一点还是想不通。为什么SQLcipher和Camera权限同时使用,在出现这个情况?
4 年多之前 回复
forlong401
forlong401 回复gltong1988: 这个没办法啊,只能说降低质量了。mtk芯片太烂。再或者你读取系统信息。当是mtk系统就降低质量。其它系统就是用8888.
4 年多之前 回复
gltong1988
跳梁小丑-123 换成Config.ARGB_4444是可以解决这个问题,但这样会降低的图片的质量,并且使用WebView加载jpg图片也会出现这个闪退。
4 年多之前 回复

是不是你的sdk版本有问题,里面没有BitmapFactory.setDefaultConfig(Bitmap.Config.ARGB_8888)这个方法

0
gltong1988
跳梁小丑-123 BitmapFactory.Options option = new BitmapFactory.Options(); option.inPreferredConfig = Config.ARGB_8888; BitmapFactory.decodeFile(filePath, option);
4 年多之前 回复
gltong1988
跳梁小丑-123 谢谢您回答,我使用的是下面的方式转化Bitmap的:
4 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!