项目中使用的greendao版本为
implementation 'org.greenrobot:greendao:3.2.2'
sqlcipher版本为:
implementation 'net.zetetic:android-database-sqlcipher:3.5.9@aar'
项目中调用的代码为:
writableDb = devOpenHelper.getEncryptedWritableDb("your key");
public List<Collect> getCollectList(int page, int count){
return writableDaoSession.getCollectDao()
.queryBuilder()
.orderDesc(CollectDao.Properties.Id)
.limit(count)
.offset(page*count)
.list();
}
测试发现offset不论设置为什么值都是无效的,后面发现,在app的build.gradle中设置了:
ndk {
abiFilters 'armeabi','x86'
}
即只保留了该加密库的armeabi和x86目录,而原本该加密库的so目录应该有:
- armeabi
- armeabi-v7a
- x86
- x86_64
- arm64_v8a
解决方法:
1.去掉以下代码:
ndk {
abiFilters 'armeabi','x86'
}
2.设置为:
ndk {
abiFilters 'armeabi','x86','armeabi-v7a'
}