java - Libgdx Android - GL 线程(NullPointerException)和丢失类文件

标签 java android opengl-es libgdx opengl-es-2.0

我正在使用 LibGdx 框架来创建游戏,并且正在使用 Eclipse 4.4 (Luna)。当我调试我的应用程序时,此方法正在崩溃。

@Override
        public void run() {
            setName("GLThread " + getId());
            if (LOG_THREADS) {
                Log.i("GLThread", "starting tid=" + getId());
            }

            try {
                guardedRun();
            } catch (InterruptedException e) {
                // fall thru and exit normally
            } finally {
                sGLThreadManager.threadExiting(this);
            }
        }

GLSurfaceView Android 类中,带有堆栈跟踪:

Thread [GLThread 232] (Suspended (exception NullPointerException))  
    GLSurfaceView$GLThread.run() line: 1243 

我知道 NullPointerException 是什么,我知道某个地方正在传递 null 值,但我想知道的是如何找出哪里?

对于这些类型的问题,我只能假设您需要更多代码,但我不知道应该在哪里查找,如果有人知道我在哪里,我将根据请求发布 Java 类的代码应该看看。

注意:我没有在代码中的任何地方直接使用 GLSurfaceView,我假设它是来自 Libgdx 的库。除非我错过了什么?

更新:详细发现问题。

GLSurfaceView$GLThread.class [in android.opengl [in C:\Users\me\AppData\Local\Android\android-sdk\platforms\android-8\android.jar]] does not exist

最佳答案

解决方案:

renderer类调用AtlasRegion,而没有在assets类中分配值,因此出现null异常

What is a NullPointerException, and how do I fix it?

将其更改为声明的字段在代码方面为我解决了这个问题。

后端问题的解决方案:

GLSurfaceView$GLThread.class [in android.opengl [in C:\Users\me\AppData\Local\Android\android-sdk\platforms\android-8\android.jar]] does not exist

我从 Google 下载了源代码,并将源代码分配到了 SDK 文件夹中,C:\Users\me\AppData\Local\Android\android-sdk\sources\,如果您不这样做还没有源文件夹,创建一个,将源文件放在那里,它应该重新加载正在处理的类。 (在本例中为 API 2.2 的 GLSurfaceView.class)

另一种方法在 Eclipse 4.4 (Luna) 或我相信的任何其他 Eclipse 中,进入您的项目文件夹,右键单击 > properties > java build path 并为 android.java 分配源文件。 jar 在您的依赖库中。

关于java - Libgdx Android - GL 线程(NullPointerException)和丢失类文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29658827/

相关文章:

java - 使用 vlc api 在 Javafx 中播放视频

java - 在 Sony D2203 上运行 PreferenceManager.setDefaultValues 时出现错误,但在 Sony D2403 上运行时它可以正常工作

android - 固定状态栏和隐藏的导航栏

java - 为什么像素颜色在 Android 上的 OpenGL ES 2.0 中不正确?

ios - glclear() 在 ios8 opengl 中修改 glscissor() 边界之外的图像

java - SOAP SSL 握手

java - 在 Jasper 中显示 CLOB

android - 简单的 iOS POST http 请求

opengl-es - GLSL ES 中的最大程序

java - hibernate部分更新对象