如何使ANE访问GooglePlay GameServices

时间:2013-07-22 02:56:19

标签: android air google-play-games

我为Android开发了AdobeAIR App。 因此,我尝试制作访问GooglePlay GameServices的ANE(ActionScript Native Extensions)。 但是,由于以下问题,它现在正在工作。

[错误]

07-22 11:22:44.976: W/Bundle(24987): Key com.google.android.gms.games.APP_ID expected String but value was a java.lang.Integer.  The default value <null> was returned.
07-22 11:22:44.991: W/Bundle(24987): Attempt to cast generated internal exception:
07-22 11:22:44.991: W/Bundle(24987): java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
07-22 11:22:44.991: W/Bundle(24987):    at android.os.Bundle.getString(Bundle.java:1069)
07-22 11:22:44.991: W/Bundle(24987):    at abh.a(SourceFile:137)
07-22 11:22:44.991: W/Bundle(24987):    at ato.a(SourceFile:450)
07-22 11:22:44.991: W/Bundle(24987):    at com.google.android.gms.games.service.GamesIntentService.onHandleIntent(SourceFile:2257)
07-22 11:22:44.991: W/Bundle(24987):    at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65)
07-22 11:22:44.991: W/Bundle(24987):    at android.os.Handler.dispatchMessage(Handler.java:99)
07-22 11:22:44.991: W/Bundle(24987):    at android.os.Looper.loop(Looper.java:137)
07-22 11:22:44.991: W/Bundle(24987):    at android.os.HandlerThread.run(HandlerThread.java:60)

[原因]

  • 此错误属性将appid-number直接写入 AIR APP的清单文件(XXXX-app.xml)。 →如果我发展 native-app(Java),我指的是“res”文件夹(res / values / string.xml)。 但是,AIR App无法明确读取“res”文件夹,所以我没有 其他选择。(对吗?)

例)

(XXXX-app.xml)
<manifestAdditions><![CDATA[<manifest>
    <application>
        <meta-data android:name="com.google.android.gms.games.APP_ID"
                android:value="123456789012" />     
    </application>
</manifest>]]></manifestAdditions>

有什么好主意吗?

1 个答案:

答案 0 :(得分:3)

您可能需要在android:value的开头添加一个反斜杠空格,如下所示:

<meta-data android:name="com.google.android.gms.games.APP_ID"
            android:value="\ 123456789012" /> 

这是因为id应该是一个字符串,但只输入&#34; 123456789012&#34;将被解释为XML中的整数。