当前位置: 代码迷 >> Android >> EGLContext的怪有关问题
  详细解决方案

EGLContext的怪有关问题

热度:16   发布时间:2016-05-01 12:18:31.0
EGLContext的怪问题
在android sdk的sources目录下有EGLContext.java源文件,如下:
package javax.microedition.khronos.egl;

import javax.microedition.khronos.opengles.GL;

public abstract class EGLContext
{
    private static final EGL EGL_INSTANCE = new com.google.android.gles_jni.EGLImpl();
    
    public static EGL getEGL() {
        return EGL_INSTANCE;
    }

    public abstract GL getGL();
}
然而在android.jar包中,反编译EGLContext.class,却是如下代码:
package javax.microedition.khronos.egl;

import javax.microedition.khronos.opengles.GL;

public abstract class EGLContext
{
  public EGLContext()
  {
    throw new RuntimeException("Stub!"); } 
  public static EGL getEGL() { throw new RuntimeException("Stub!");
  }

  public abstract GL getGL();
}
所以我不解:在android.jar包中的EGLContext.class里面,getEGL()函数没做任何事情啊,
那为什么单步调试的时候,getEGL()会返回一个确切的值呢?而且还可以通过这个值,调用eglGetDisplay()呢?
------解决方案--------------------
引用:
自己顶一个......

public static EGL getEGL() {
     return EGL_INSTANCE;
}
getEGL方法返回了一个EGL_INSTANCE变量    而EGL_INSTANCE = new com.google.android.gles_jni.EGLImpl();  这句是通过底层jni获得EGL的一个实现类的实例~~~  亲,记得给分哦~
 
------解决方案--------------------
引用:
引用:
引用:自己顶一个......
public static EGL getEGL() {
     return EGL_INSTANCE;
}
getEGL方法返回了一个EGL_INSTANCE变量    而EGL_INSTANCE = new com.google.android.gles_……


反编译的出来的代码,是由反编译工具解密能力而获得  部分反编译工具,编译出来的源码是有误差  缺省的..     较强大的反编译工具,可以直接获得源码本身...
  相关解决方案