NDK构建中本地音频示例的问题

8

我在使用NDK构建本地音频示例时遇到了问题。

主要原因是"SLES/OpenSLES.h: No such file or directory"。

我已经尝试过搜索,但没有找到有用的信息。

请帮助我。

提前感谢您。

5个回答

11
如果您正在使用命令行进行构建,请尝试使用以下命令:

ndk-build TARGET_PLATFORM=android-9


注:保留了原文中的HTML标签,未进行修改。

目前我正在使用Android NDK(ndk10d)和eclipse,我尝试使用命令行但无法解决这个问题。我遇到了同样的问题。还有其他方法吗?如果我从Android NDK复制SLES文件夹,则错误会被解决,但我想知道这是否是正确的方法? - bhavesh kaila
将此添加到您的 Application.mk 还有助于:APP_PLATFORM := android-9 - display name

5

这是由于您的Android版本问题。在构建时,请指定Android版本。

ndk-build TARGET_PLATFORM=android-9


3

如果您正在使用 Android StudioApplication.mk 文件,可以通过以下方式设置 Android 平台版本:

//replace 'x' with the platform version you are targeting
APP_PLATFORM := android-x

点击这里获取 ndk-r10c 参考文档。我正在使用 ndk-r10e,它仍然使用相同的变量。


3

我也曾遇到过这个问题,但现在它已经解决了。你需要使用确切的Android API 9。在Eclipse中,从现有源代码(native-audio示例)创建一个新项目,其目标是Android 2.3.1,然后使用ndk-build构建共享库。最后按照常规方式在Eclipse中构建你的项目。


谢谢你的回答,我想要为 Android 1.6 构建一个本地音频应用。但正如你所说,这是不可能的,对吗? - Thanh Le
是的,这是不可能的。它使用暴露NativeAudio播放器接口的方法,这些接口在API 9之后才包含 - 这就是为什么API 9中有均衡器的原因。 - Mojo Risin

0
在Android Studio中,您可以通过将以下行添加到project.properties文件来解决此问题:
target=android-23 // replace 23 with the api you are targeting

project.properties 文件应该位于“main”目录内,如果没有,您可以创建该文件,然后它应该可以正常工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接