检查报告的相同问题:https://github.com/litehelpers/Cordova-sqlcipher-adapter/issues/41
现在已经解决。
供参考:
sqlcipher/android-database-sqlcipher#216
您可以在以下链接中检查SQLCipher for Android Release - Android N支持:
https://discuss.zetetic.net/t/sqlcipher-for-android-release-android-n-support/1465
编辑:
您还可以查看NDK Apps Linking to Platform Libraries,了解私有库的使用情况。
请检查“更新您的应用程序”部分,其中提供了修复此类错误的步骤。
你可能正在使用直接访问私有API的本地库。以下是问题的描述。
来自Android开发者博客https://android-developers.googleblog.com/2016/06/android-changes-for-ndk-developers.html:
私有 API(自 API 24 强制执行)
本地库必须仅使用公共 API http://developer.android.com/ndk/guides/stable_apis.html?utm_campaign=android_discussion_ndkchanges_062716&utm_source=anddev&utm_medium=blog,并且不得链接非 NDK 平台库。从 API 24 开始,此规则得到强制执行,应用程序将无法加载非 NDK 平台库。该规则由动态链接器执行,因此无论代码如何尝试加载它们(System.loadLibrary(...)、DT_NEEDED 条目和对 dlopen(...) 的直接调用),非公共库都是不可访问的。
(...)
潜在问题:从 API 24 开始,动态链接器将不会加载私有库,防止应用程序加载。
解决方案:重写本地代码,仅依赖于公共 API。作为短期解决方法,可以将没有复杂依赖关系的平台库(libcutils.so)复制到项目中。作为长期解决方案,相关代码必须复制到项目树中。不应从本地代码访问 SSL/Media/JNI 内部/绑定器 API。必要时,本地代码应调用适当的公共 Java API 方法。
完整的公共库列表可在 NDK 中找到,位于
platforms/android-API/usr/lib
下。
正如其他答案所指出的那样,似乎这个API 24的问题已经得到解决。