Android用のAdobeAIRアプリを開発しています。そこで、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 の Manifest-file(XXXX-app.xml) に直接書き込む属性です。→native-app(Java)を開発する場合は「res」フォルダ(res/values/string.xml)を参照します。でも、AIRアプリは「res」フォルダを明示的に読み込めないので、仕方ありません。(正解?)</li>
元。)
(XXXX-app.xml)
<manifestAdditions><![CDATA[<manifest>
<application>
<meta-data android:name="com.google.android.gms.games.APP_ID"
android:value="123456789012" />
</application>
</manifest>]]></manifestAdditions>
良いアイデアはありますか?