Dul*_*lli 14

经过长达2周的时间尝试解决这个问题后,我已经为我解决了这个问题创建了步骤,并决定与每个遇到同样问题的人分享它,而不是发布游戏.它用于测试.当发布时间到来时,我将分享用于发布应用程序的步骤,并确保它适用于Google Play游戏服务.

请注意,我尝试做的就是使用Google登录按钮登录,无需对签名后的操作进行操作,同时请注意我已将Google Play示例中的BaseGameUtils用作库,以及我选择的IDE完成所有这些是Eclipse.

下面是使用eclipse的逐步步骤:

1 - 在您的eclipse工作空间中导入BaseGameUtils作为库,确保导入后不会发生错误.如果发生错误,请执行以下操作:

a-右键单击项目资源管理器中的BaseGameUtil项目

b-单击Java构建路径

c-Click从那里添加外部罐子导航到您的SDK位置并找到Google-Play-services.jar

d-选择它并单击确定--->你应该看到在JAR和类文件夹窗口中添加了jar.

e-转到图书馆右侧的"订购和导出"标签,确保选中"Android私有库"和"Android依赖项",同时确保选中了google-play-services.jar.

2-现在确保在要使用的应用程序中正确引用导入的BaseGameUtility,"您可以创建一个简单的hello world应用程序来测试它",所以现在我们将在hello world应用程序中引用BaseGameUtility,如下所示:

(重要的是确保hello world和BaseGameUtil都在同一个驱动器中,两个驱动器将无法工作)

a - 右键单击​​项目资源管理器右侧的hello world应用程序

b-单击Java构建路径

c-单击"库"

d-如果需要,从外部或内部源添加android support-v4(不需要)

通过单击添加类文件夹添加基本游戏工具.jard - >然后选择BaseGameUtilProject ---然后选择/ bin文件夹 - 这应该将其导入您的应用程序

如果需要,还可以从外部源添加google-play-services.jar

g-in"order and export"确保您选择以下选项--->"Android Private Libraries,Android dependancies,BasegameUtils.jar,GooglePlayGameServices.jar"以及默认情况下应选择的普通SRC和GEN.

3-现在你的java文件helloworld.java确保你的主屏幕具有所有必需的导入,然后扩展BaseGameUtil并确保项目实现ViewOnClickListener.

4-编辑您的Android清单以包含以下内容:

 <meta-data android:name="com.google.android.gms.games.APP_ID"
        android:value="@string/app_id" />

<uses-permission android:name="android.permission.INTERNET"></uses-permission>

5-确保资源中有ids.xml文件,以便在创建后包含应用程序ID.

<string name="app_id"></string>

您现在可以将其留空,以后您必须将应用程序ID放入其中

在开发人员控制台中添加此应用程序之前,请复制您在eclipse IDE上的调试密钥.在Eclipse中这样做的过程如下:

a-click on window b-选择android c-Click build d-复制SHA1指纹,并在开发人员控制台中创建应用程序时保持使用它.

7-在开发人员控制台中创建游戏,并使用从步骤6中检索到的SHA1.

8-将应用程序ID放在步骤5中突出显示的ids.xml中

9-仔细检查您的值并确保开发人员控制台和清单文件之间的包名称都是正确的.

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
**package="com.helloword.check"**
android:versionCode="1"
android:versionName="1.0" >

10-完成后,确保开发人员控制台中的应用程序与使用keytool在开发人员控制台中分配的SHA1相匹配.这是我花了2个星期才弄明白的一步

a-从您的hello world项目的bin文件夹中找到您的应用程序APK,并将其复制到另一个位置,以便稍后使用关键工具检查其ID

b-找到您的keytool - >通常位于您计算机的JAVA文件夹下,在我的情况下它位于C:\ Program Files\Java\jdk1.7.0_09\jre\bin下

c-在临时位置提取你的apk

d-运行以下命令

keytool -printcert -file"TempLocation\Meta-INF\CERT.RSA"

你会得到一个MD5以及SHA1和SHA256

确保SHA1与开发人员控制台中的SHA1匹配.

11-以下是如何从开发人员控制台检查SHA1,

a-去游戏服务

b-在我们的案例中单击helloWorld中的游戏名称

c-向下滚动到"API控制台项目"

d-你应该看到"这个游戏链接到API控制台项目叫做helloworld"

e- helloworld应该是一个超链接点击它,

f-这将打开Goog​​le APis控制台

g-在APconsole中单击API Access

h-向下滚动到"已安装应用程序的客户端ID",您应该看到SHA1确保它与步骤10中先前从keytool生成的SHA1相同.(如果它们不匹配,则必须从开发人员控制台删除游戏并使用正确的SHA1重新创建它)"确保不要从Google API控制台更改SHA1,这将导致问题.

我 - 确保软件包名称与Android清单中的软件包名称相同,我的意思是指的是所有软件包名称都提到的,确保它与"已安装应用程序的客户端ID"中的名称相匹配(在我的情况下,它与我的清单第4行)

这就是你现在应该能够使用谷歌游戏服务测试你的登录

  • 谢谢你的详细解释.我对谷歌感到有点愤怒,因为还有很多开发人员在使用Google Play服务时遇到问题. (3认同)
  • 没问题,我同意你如何做到这一点,文档,而不是非常清楚,或充其量.我找不到一个页面上的所有东西,我一直看到的是一个嵌套链接的页面,这真的令人困惑.我仍在使用Google Play服务测试所有内容,我会不断发布此帖子的任何更新. (2认同)