Libgdx Android - GL 线程(NullPointerException)和缺少 Class 文件

Libgdx Android - GL Thread (NullPointerException) & Missing Class File

我正在使用 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 class 中,堆栈跟踪:

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

我知道 NullPointerException 是什么,我知道某处正在传递 null 值,但我想知道的是如何找到位置?

对于这些类型的问题,我只能假设您需要更多代码,但我不知道我应该在哪里寻找,我将 post 来自 Java class如果有人知道我应该看哪里,可以根据要求提供。

注意:我没有在代码中的任何地方直接使用 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 class 调用了一个 AtlasRegion,但没有在 assets class 中分配值,因此空异常

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\,如果您还没有源文件夹,请创建一个,将源代码放在那里它应该重新加载正在处理的 class 。 (在这种情况下 GLSurfaceView.class for API 2.2)

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