0

我已经构建了本机音频示例并将其下载到我的 Galaxy Tab 10.1,但它不起作用。看起来它即将开始(即窗口名称出现在顶部),但随后严重崩溃。我希望有人可能知道为什么?可能是选项卡上的音频支持有问题,还是......?

我还尝试使用“android_native_app_glue”创建自己的非常简单的本机活动,但它也崩溃了——即使我没有进行 OpenSL 调用。事实上,我所要做的就是将 -lOpenSLES 添加到我的 LOCAL_LDLIBS 以导致启动崩溃。当我删除该链接器标志时,没有崩溃。很奇怪,让我觉得选项卡中缺少关于原生音频支持的东西?

谢谢, ALF

4

1 回答 1

0

事实上,我所要做的就是将 -lOpenSLES 添加到我的 LOCAL_LDLIBS 以导致启动崩溃。当我删除该链接器标志时,没有崩溃。很奇怪,让我觉得选项卡中缺少关于原生音频支持的东西?

您的 logcat 似乎表明 /data/data/com.example.native_activity/lib/libnative-activity.so 的加载失败。如果无法复制问题以验证可能导致的错误消息,这很可能是由于运行时链接器无法找到要加载的引用系统库,或者可能是无法找到 libnative 的令人困惑的报告 - activity.so 本身,或 lib 中未解析的符号,或其他东西。

如果您有另一个设备要测试,那将是一条明显的路径。

还测试已知使用本机音频的其他人编译的应用程序。

如果这些都不可能,您可能会使用 readelf 或 objdump(尤其是 ndk 安装中某处的 android 版本)甚至字符串或 grep 来查找 libnative-activity.so 所需的系统库的名称,然后查看它们是否实际上存在于您的设备上。

于 2011-08-01T18:34:26.260 回答