经过漫长的 2 周尝试解决此问题后,我为我创建了解决此问题的步骤,并决定与遇到相同问题的每个人分享它,而无需发布游戏。它用于测试。当发布时间到来时,我将分享用于发布应用程序的步骤,并确保它可以与 Google play 游戏服务一起使用。
请注意,我所要做的只是使用 Google 登录按钮登录,而无需对签名后应该发生的事情进行任何操作,还请注意,我已使用 Google play 示例中的 BaseGameUtils 作为库,以及我选择的 IDE完成所有这些工作的是 Eclipse。
以下是使用eclipse的步骤:
1-将 BaseGameUtils 作为库导入 Eclipse 工作空间,确保导入后不会出现错误。如果发生错误,请执行以下操作:
a- 在项目资源管理器中右键单击 BaseGameUtil 项目
b-单击 Java 构建路径
c-单击添加外部 jar 从那里导航到您的 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(不需要)
e- 通过单击添加类文件夹添加基本游戏 utils .jard --> 然后选择 BaseGameUtilProject ---然后选择 /bin 文件夹 -- 这应该将其导入您的应用程序
如果需要,也可以从外部源 f-add google-play-services.jar
g-in "order and export" 确保您选择了以下 --->"Android Private Libraries,Androiddependancies ,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 放入其中
6 在开发人员控制台中添加此应用程序之前,复制您在 Eclipse IDE 上的调试密钥。在 Eclipse 中这样做会发生如下情况:
a-单击窗口 b- 选择 android c-单击构建 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 与开发人员控制台中的相匹配。
11-这是从开发人员控制台检查您的 SHA1 的方法,
a- 去游戏服务
b- 在我们的例子中单击游戏名称 helloWorld
c- 向下滚动到“API 控制台项目”
d- 你应该看到“这个游戏链接到名为 helloworld 的 API 控制台项目”
e- helloworld 应该是一个超链接点击它,
f- 这将打开 Google API 控制台
g- 在 APconsole 中点击 API Access
h- 向下滚动到“已安装应用程序的客户端 ID”,您应该会看到 SHA1,确保它与前面步骤 10 中从 keytool 生成的相同。(如果它们不匹配,您必须从开发者控制台中删除游戏并使用正确的 SHA1 重新创建它)“确保不要从 Google API 控制台更改 SHA1,这将导致问题。
我 - 确保包名称与您的 android 清单中的包名称相同,我的意思是在提到包名称的所有地方都确保它与“已安装应用程序的客户端 ID”中的名称匹配(在我的情况下,它与我的清单的第 4 行)
就是这样,您现在应该可以使用 google play 游戏服务测试您的登录了