Dalvik是否在Android中使用本机库?

时间:2014-04-28 12:14:21

标签: android opengl-es

我阅读了很多关于它的文章,但无法清楚地理解一个非常重要的问题。因此,例如,我编写了一个程序(使用Java),它在编译我的程序以在Dalvik中执行之后使用OpenGL API(包含此API的包)。这个字节代码如何与opengles.so通信?这个沟通什么时候出现?

1 个答案:

答案 0 :(得分:1)

如果我错了,请纠正我,因为以下只是一个猜测:

Android框架附带了一组实现OpenGL功能的Java类。 这个Java类只是通过JNI调用本机OpenGL函数,因此利用本机OpenGL库。

如果你看一下Android框架资源,你可以看到以下内容:

public class GLES20 {

    public static native void glClearColor(
            float red,
            float green,
            float blue,
            float alpha
        );

        // C function void glClearDepthf ( GLclampf depth )

        public static native void glClearDepthf(
            float depth
        );

        // C function void glClearStencil ( GLint s )

        public static native void glClearStencil(
            int s
        );
        // More functions
}

所以,我认为这只是JNI。它都是开源的,只需去那里看一看。