3

我只想在可用时使用 OpenSL` ES,即如果 Android 版本 >= 2.3

目前我在Android.mk

LOCAL_LDLIBS    += -lOpenSLES

但如果 Android 版本 < 2.3,这将不起作用

只有当 Android 版本 >= 2.3 时,我才能以某种方式动态加载 Open SL 库,也许使用System.loadLibrary

4

1 回答 1

1

用于Build.VERSION在加载库之前检查 API 版本,如果它低于 API 9,请不要加载它。

例子:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) {
    System.loadLibrary("xyz");
}

[编辑]

或者,如果您想拥有一个本地库,动态加载 OpenSL ES,您可以使用dlopen. 您可以在 stackoverflow 上找到一个示例:https ://stackoverflow.com/a/1142169/1145705

于 2012-08-02T12:41:23.857 回答