【发布时间】:2014-11-04 21:18:07
【问题描述】:
我不知道发生了什么,但由于某种原因,当我尝试将 Google BaseGameUtils 添加到我的应用项目时,我总是收到 ClassDefNotFound 错误。我完成了 Google Developer 网站上的所有步骤,但仍然在 GameHelper 上获得 ClassDefNotFound 执行:
public GameHelper getGameHelper() {
if (mHelper == null) {
mHelper = new GameHelper(this, mRequestedClients);
mHelper.enableDebugLog(mDebugLog);
}
return mHelper;
}
@Override
protected void onCreate(Bundle b) {
super.onCreate(b);
if (mHelper == null) {
getGameHelper();
}
mHelper.setup(this);
}
mHelper = new GameHelper(this. mRequestedClients); 行抛出类异常。
我什么都试过了:
- 我尝试了预清理
- 我试过导出订单
- 我检查了每个图书馆
我不知道我应该尝试或做什么。 顺便说一句,我使用 eclipse 作为 IDE 和最新的 ADT 和 BuildTools。我的 SDK 和播放服务库也是最新版本。
LogCat 错误:
11-04 22:01:03.211: E/AndroidRuntime(19057): FATAL EXCEPTION: main
11-04 22:01:03.211: E/AndroidRuntime(19057): java.lang.NoClassDefFoundError: com.google.example.games.basegameutils.GameHelper
11-04 22:01:03.211: E/AndroidRuntime(19057): at com.google.example.games.basegameutils.BaseGameActivity.getGameHelper(BaseGameActivity.java:77)
11-04 22:01:03.211: E/AndroidRuntime(19057): at com.google.example.games.basegameutils.BaseGameActivity.onCreate(BaseGameActivity.java:87)
11-04 22:01:03.211: E/AndroidRuntime(19057): at com.pi.rtest.MainActivity.onCreate(MainActivity.java:24)
11-04 22:01:03.211: E/AndroidRuntime(19057): at android.app.Activity.performCreate(Activity.java:5250)
11-04 22:01:03.211: E/AndroidRuntime(19057): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1097)
11-04 22:01:03.211: E/AndroidRuntime(19057): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211)
11-04 22:01:03.211: E/AndroidRuntime(19057): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2297)
11-04 22:01:03.211: E/AndroidRuntime(19057): at android.app.ActivityThread.access$700(ActivityThread.java:152)
11-04 22:01:03.211: E/AndroidRuntime(19057): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1282)
11-04 22:01:03.211: E/AndroidRuntime(19057): at android.os.Handler.dispatchMessage(Handler.java:99)
11-04 22:01:03.211: E/AndroidRuntime(19057): at android.os.Looper.loop(Looper.java:137)
11-04 22:01:03.211: E/AndroidRuntime(19057): at android.app.ActivityThread.main(ActivityThread.java:5328)
11-04 22:01:03.211: E/AndroidRuntime(19057): at java.lang.reflect.Method.invokeNative(Native Method)
11-04 22:01:03.211: E/AndroidRuntime(19057): at java.lang.reflect.Method.invoke(Method.java:511)
11-04 22:01:03.211: E/AndroidRuntime(19057): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
11-04 22:01:03.211: E/AndroidRuntime(19057): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
11-04 22:01:03.211: E/AndroidRuntime(19057): at dalvik.system.NativeStart.main(Native Method)
【问题讨论】:
-
在您的 Java 源代码中,GameHelper.java 是否与 BaseGameActivity.java 位于同一包 (com.google.example.games.basegameutils) 中?
-
是的。它们在同一个包中。
-
我认为这个链接可以帮助到你。 stackoverflow.com/questions/8678630/…
-
没有一个对我有用
-
Play 游戏服务团队正在放弃使用 BaseGameHelper:它不再在 GitHub 上的示例中使用 - github.com/playgameservices/android-basic-samples。您可能想尝试在不使用 helper 的情况下使用这些服务。
标签: java android google-play-services google-play-games