How to make ANE that accesses GooglePlay GameServices

我的梦境 提交于 2019-12-11 08:49:43

问题


I develop AdobeAIR App for Android. So, I try to make ANE(ActionScript Native Extensions)that accesses GooglePlay GameServices. But, it is now working because of the following problem.

[Error]

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)

[Cause]

  • This error attributes to write appid-number directly to Manifest-file(XXXX-app.xml) of AIR APP. →If I develop native-app(Java) , I refer to「res」folder(res/values/string.xml). But, AIR App can't read the 「res」folder explicitly, so I have no other choice.(correct?)

Ex.)

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

Any good ideas?


回答1:


You may need to add a backslash-space at the start of your android:value like so:

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

This is because the id is expected as a string, but entering just "123456789012" will be interpreted as an integer from XML.



来源:https://stackoverflow.com/questions/17779245/how-to-make-ane-that-accesses-googleplay-gameservices

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!