我想仅在可用时使用OpenSL` ES,即如果Android版本> = 2.3
目前我在Android.mk
LOCAL_LDLIBS += -lOpenSLES
但是如果Android版本< 2.3
只有在Android版本> = 2.3,可能使用System.loadLibrary
时,我才能以某种方式动态加载Open SL库吗?
答案 0 :(得分: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