Greendao打印Didn't find class "net.sqlcipher.database.SQLiteOpenHelper”解决办法

最近在使用greenDao数据库的时候,发现每次调试都会打印很多
java.lang.ClassNotFoundException: Didn’t find class "net.sqlcipher.database.SQLiteOpenHelper
的log
但是并不影响正常使用,如果你保存的数据不涉及到安全的话,完全不用理会。
但是对我这种有强迫症的人来说,每次调试都看到打印一堆这种日志我就会很难受,所以就查阅了一些资料解决了,下面是解决办法。
打印这些日志其实是提示我们数据库没有加密,那么,我们给数据库加密即可。

首先引入一个第三方库:
https://www.zetetic.net/sqlcipher/sqlcipher-for-android/

implementation 'net.zetetic:android-database-sqlcipher:3.5.7@aar'

因为我用的是android studio 3.0,所以是implementation ,如果你用的是2.x的版本,用compile 即可。

compile 'net.zetetic:android-database-sqlcipher:3.5.7@aar'

greendao如何使用网上有很多资料了。这里我就直接用了

在Application中初始化,获取数据库时用getEncryptedWritableDb获取即可,123为密码,密码自己随便设。

    private void initGreenDao() {

        DaoMaster.DevOpenHelper helper = new DaoMaster.DevOpenHelper(this, "user.db", null);
        
        //Database dataBase1 = helper.getWritableDb();
        Database database = helper.getEncryptedWritableDb("123");

        daoSession=new DaoMaster(database).newSession();
    }

再次运行,就不会再打印下面的log了
java.lang.ClassNotFoundException: Didn’t find class "net.sqlcipher.database.SQLiteOpenHelper

©️2020 CSDN 皮肤主题: 书香水墨 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值