gpt4 book ai didi

android - 在 Android 上加载 libpthread.so 时出错

转载 作者:太空宇宙 更新时间:2023-11-04 11:03:48 27 4
gpt4 key购买 nike

我正在使用 android-NDK-r10 编译包含 libspotify 函数的 C++ 代码。

在我的应用程序中,我在扩展 Service 的类的 onCreate() 方法中包含两个库,如下所示:

System.loadLibrary("spotify");
System.loadLibrary("spotifywrapper");

在我的 C++ 代码中(编译为“libspotifywrapper.so”),我照常包含 libpthread:

#include <stdlib.h>
#include <pthread.h>
#include <string>
#include <api.h>

使用 ndk-build 进行编译,我没有收到任何错误。

当我启动我的 android 应用程序时,dalvik 崩溃并显示以下消息:

09-26 08:18:18.941: E/dalvikvm(11820): dlopen("/data/app-lib/com.example.myApp-1/libspotify.so") failed: dlopen failed: could not load library "libpthread.so.0" needed by "libspotify.so"; caused by library "libpthread.so.0" not found

我复制了this将 libpthread 版本放入 libs/armeabi/,将其重命名为 libpthread.so,并像上面两个库一样包含它。当我运行该应用程序时,它会产生一个错误,即找不到 libc.so.6
Afaik,libc 不包含在 Android 中,不是吗?

问谷歌,我读到 libpthread 包含在 libc 中,但由于 Android 使用 Bionic,我不知道 libpthread 是否包含在其中。

实际的问题是:如何摆脱这个找不到 libpthread 的错误?
我认为它不会那么困难,并且编译工作正常,它不可能是我代码中的错误。是我的 Android 设备(4.4.4 和 4.4.2)的原因吗?

我希望你能帮助我,
卢卡斯

最佳答案

Android 上没有libpthread.so,所有pthread 特性直接由C 库实现。

您的 libspotify.so 不是使用与 Android 兼容的工具链编译的,您将无法在 Android 上加载/使用它。询问为您提供 Android 兼容版本的人,即使用 NDK 工具链构建的版本。

关于android - 在 Android 上加载 libpthread.so 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26054039/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com