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
分配源文件。
我正在使用 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
分配源文件。