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 示例)中的 BaseGameActivity
和 GameHelper
类复制到了我的项目中的同一个 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 Service 的 proguard 配置,在我的应用程序中还是在 lib 项目中?