Android Nougat: Issues Detected with Native Application Libraries

we just upgrade the Nexus 96 to Android N and now we get the following popup when running our app: enter image description here

give me some suggestions

+3


source to share


2 answers


Flag same issue noted: https://github.com/litehelpers/Cordova-sqlcipher-adapter/issues/41

It is now resolved.

For reference:

sqlcipher / android-database-sqlcipher # 216

You can check SQLCipher for Android Release-Android N Support from below link:



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

EDIT:

You can also check NDK Applications linked to platform libraries for private libraries use.

Check the Update Application section for steps to resolve these types of errors.

+3


source


You may be using your own library that directly accesses private APIs. The problem is described below.

From the Android Developers blog https://android-developers.googleblog.com/2016/06/android-changes-for-ndk-developers.html :



Private API (since API 24)

Native libraries should only use the public API http://developer.android.com/ndk/guides/stable_apis.html?utm_campaign=android_discussion_ndkchanges_062716&utm_source=anddev&utm_medium=blog and should not link to platform libraries other than NDK. Starting with API 24, this rule applies and applications can no longer load platform libraries other than the NDK. This rule is enforced by the dynamic linker, so non-public libraries are not available regardless of how the code is loaded: System.loadLibrary (...), DT_NEEDED entries, and direct calls to dlopen (...) will fail in the same way.

(...)

Potential Issues: Starting with API 24, the dynamic linker does not load private libraries, which prevents the application from loading.

Resolution: rewrite your own code to only rely on the open API. In the short term, library libraries without complex dependencies (libcutils.so) can be copied into the project. As a long term solution, the relevant code should be copied into the project tree. The SSL / Media / JNI APIs of the back-end / binder should not be accessible from native code. Native code must call the appropriate public Java API methods as needed.

A complete list of public libraries is available in the NDK under platforms/android-API/usr/lib

.

As other answers have pointed out, it seems like the API 24 issue has been resolved.

0


source







All Articles