目前,我正在使用jni代码中的android_view_surface_getsurface()从java surface对象获取本机surface。这似乎适用于android 4.4设备,但不适用于操作系统较旧版本的设备,例如我用4.1测试过的设备,系统库中似乎缺少android view surface getsurface符号。
在所有设备上都有有效的方法吗?(或至少4+)。如果没有,如何仅对较旧的操作系统版本执行此操作?
谢谢,
萨沙

最佳答案

你已经把它作为公共api了。

/**
 * Return the ANativeWindow associated with a Java Surface object,
 * for interacting with it through native code.  This acquires a reference
 * on the ANativeWindow that is returned; be sure to use ANativeWindow_release()
 * when done with it so that it doesn't leak.
 */
ANativeWindow* ANativeWindow_fromSurface(JNIEnv* env, jobject surface);

请参见此处的示例:Application crashing due to use of ANativeWindow API

07-28 12:50