我只想在可用时使用 OpenSL` ES,即如果 Android 版本 >= 2.3
目前我在Android.mk
LOCAL_LDLIBS += -lOpenSLES
但如果 Android 版本 < 2.3,这将不起作用
只有当 Android 版本 >= 2.3 时,我才能以某种方式动态加载 Open SL 库,也许使用System.loadLibrary
?
我只想在可用时使用 OpenSL` ES,即如果 Android 版本 >= 2.3
目前我在Android.mk
LOCAL_LDLIBS += -lOpenSLES
但如果 Android 版本 < 2.3,这将不起作用
只有当 Android 版本 >= 2.3 时,我才能以某种方式动态加载 Open SL 库,也许使用System.loadLibrary
?
用于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