谷歌游戏服务C++ SDK无法找到NativeSdkEntryPoints Java类。

3
Google Play游戏服务很好用,但是在创建GameServices对象后出现了以下错误。我正在使用cocos2d-x的SDK。
Java Activity在JNI_OnLoad中初始化。 按照Google C++ SDK文档所述初始化GameServices对象。
Google Play游戏服务C++ SDK 1.2 Google Play服务版本20 Android NDK 9d
10-22 08:07:43.474: E/GamesNativeSDK(26078): Exception in dalvik/system/DexClassLoader.loadClass: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.games.NativeSdkEntryPoints" on path: DexPathList[[zip file "/data/data/com.CompanyName.MyApp/app_.gpg.classloader/921cd45b6e4d26e0809d5e163b7327ee.jar"],nativeLibraryDirectories=[/vendor/lib, /system/lib]].

这个错误是否很关键?
我该如何修复它?


1
是的,这很关键,看起来你的包中没有包含必要的库。 - chrylis -cautiouslyoptimistic-
我有一个已添加到Google Play的Android库项目,并包含了Google Play游戏服务C++ SDK。我猜测找不到的Java类应该在Android库项目中,或者至少应该被包含在其中。 - user3665111
我发现NativeSdkEntryPoints丢失的问题也一样。我正在使用最新的google-play-services_lib,如果我使用Java登录到Google Play,但它找不到NativeSdkEntryPoints。检查jar文件,该类似乎根本不存在。 - Muzza
1个回答

2

这个错误不是关键性的,你可以忽略它。

通过自己进行大量实验后,我发现在google-play-services jar中并没有存在这些类,但是它们也不需要。尽管出现了错误信息,所有正常的服务都能够通过cpp库正确运行。


你是否收到RealTimeMultiplayer().SendReliableMessage(room, participant, callback)函数的回调?对我来说,GPGS在日志中通知可靠消息已成功,但回调没有被调用。回调是使用lambda创建的,例如:[this](gpg::MultiplayerStatus const &result) {}。 - user3665111
抱歉,我没有使用实时多人游戏服务。我正在使用成就、排行榜、云消息和云保存游戏(快照)。尽管有关NativeSdkEntryPoints的报错,但所有这些功能都正常运行(包括回调)。 - Muzza

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接