Nougat Crash:java.lang.UnsatisfiedLinkError:dlopen failed:library" /system/lib64/libmedia.so"

时间:2018-02-16 10:51:25

标签: android android-ndk dlopen call-recording

我正在使用call recording应用程序,我无法在某些设备(如Samsung S7,Gionee A1和其他一些Nougat设备)中录制传入语音。所以我决定将NDK用于此目的,并在libs文件夹中添加libmedia.solibutils.so文件,因为这些.so文件是必需的,但是收到此错误

  

java.lang.UnsatisfiedLinkError:dlopen failed:library" /system/lib64/libmedia.so"需要或倾斜于" /system/lib64/libnativeloader.so"命名空间" classloader-namespace"

无法访问

请提前帮助我解决此问题。

1 个答案:

答案 0 :(得分:0)

听起来你已经知道这一点,但以防万一:

libmedia不是NDK API,在Android N中限制了对Android实施细节的访问:https://developer.android.com/about/versions/nougat/android-7.0-changes#ndk

您需要在应用程序中使用公共API(可以在NDK中访问这些API而无需extern或从设备中删除库。)

  

并在libs文件夹中添加了libmedia.so和libutils.so文件

什么是libs文件夹?如果它是APK中的lib文件夹,那么这些库应该是您的应用程序加载的库,而不是/ system / lib64中的库。你确定你在APK的正确路径中找到了它们吗?