AndEngine 与 Google Play 游戏服务

Posted

技术标签:

【中文标题】AndEngine 与 Google Play 游戏服务【英文标题】:AndEngine with Google Play game services 【发布时间】:2013-06-16 10:47:55 【问题描述】:

我正在使用 AndEngine-GLES2-AnchorCenter,我想实现 Google Play 游戏服务。

我将 BaseGameUtils(Google Play 游戏服务的一部分 - android 示例)中的 BaseGameActivityGameHelper 类复制到了我的项目中的同一个 util 包中。

由于AndEngine已经使用BaseGameActivity,我将其重命名为GBaseGameActivity,并将扩展类改为BaseGameActivity(AndEngine类),所以从这里:

public abstract class BaseGameActivity extends FragmentActivity

到:

public abstract class GBaseGameActivity extends BaseGameActivity

然后我在GBaseGameActivity 上扩展了我的课程(当我扩展 BaseGameActivity(AndEngine 类)时,它的工作......但不使用 GBaseGameActivity(BaseGameUtils 类))

public class BaseActivity extends GBaseGameActivity

我尝试编译我的项目,但我得到了:

...
Could not find class 'com.xxx.xxx.util.GameHelper', referenced from method com.xxx.xxx.util.GBaseGameActivity.<init>
Could not find class 'com.xxx.xxx.util.GameHelper', referenced from method com.xxx.xxx.util.GBaseGameActivity.onCreate
FATAL EXCEPTION: main
    java.lang.NoClassDefFoundError: com.xxx.xxx.util.GameHelper
    at com.xxx.xxx.util.GBaseGameActivity.<init>(GBaseGameActivity.java:63)
    at com.xxx.xxx.BaseActivity.<init>(BaseActivity.java:35)
...

GBaseGameActivity.java:63:

63| mHelper = new GameHelper(this);

BaseActivity.java:35:

35| public class BaseActivity extends GBaseGameActivity

问题出在哪里?

【问题讨论】:

您需要更改清单文件吗? ([参见此处示例][1])[1]:***.com/questions/16822493/android-couldnt-find-class 我只有 1 个活动 (BaseActivity) 在 GBaseGameActivity 上扩展,GBaseGameActivity 实现 GameHelper,所以我不需要将其注册到 AndroidManifest 【参考方案1】:

问题是 google-play-services 模块范围设置为 Provided 而不是 Compile

【讨论】:

以上是关于AndEngine 与 Google Play 游戏服务的主要内容,如果未能解决你的问题,请参考以下文章

如何连接到 google play 服务并加载排行榜

Google Play Service 的 proguard 配置,在我的应用程序中还是在 lib 项目中?

如何在GooglePlay上面发布应用

Android:安装与 Google Play 不同签名的非 Google Play apk

无法登陆google play怎么办?说与服务器连接不上。

StarMiner新游上线:Play-to-Earn NFT 挖矿游戏