2017-04-04 70 views

回答

3

检查报告相同问题: https://github.com/litehelpers/Cordova-sqlcipher-adapter/issues/41

现在它已经解决了。

参考:

sqlcipher/android-database-sqlcipher#216

您可以检查SQLCipher为Android发布,Android的n支持以下链接:

https://discuss.zetetic.net/t/sqlcipher-for-android-release-android-n-support/1465

编辑:

你可以还请检查 NDK Apps Linking to Platform Libraries私人图书馆使用。

选中“更新您的应用”部分,其中提供了解决这些类型错误的步骤。

0

您可能正在使用直接访问私有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问题已经解决。

相关问题