私は数日間問題を抱えています。私は最近、EclipseからAndroid Studioに移行し、Googleのゲームサービス(リーダーボードと業績)で新しいプロジェクトをセットアップしようとした後、クラスが欠落しているように見えますが、他は完全に元気です。私はグーグルのサービスにログインすることができます、私は広告を表示することができます(別のパッケージが、それは完全にnone-the-lessで動作します)、そして他のすべては正常に動作するようです。ロードインテントを除きます。 SDK管理者が 'com.google.android.gms.games.ui ....'パッケージを自分のSDKに含めるのを忘れてしまったようです。つまり、リーダーボードや成果を表示することはできません。私のアプリはクラッシュしませんが、エラーメッセージが表示され、LogCatで「クラスを見つけることができず、メソッドを読み込めませんでした」という警告が表示されます。Google Playゲームのサービスクラスがありません
これは、すぐに私は同じエラーがリーダーボードと成果のためにポップアップ表示に注意してください、Googleのゲームサービスのゲーム設定の意図にstartActivityForResult(....)を呼び出そうとしていると私のログです:
08-06 22:59:07.937 430-1614 /?I/ActivityManager:START {act = com.google.android.gms.games.SHOW_SETTINGS dat = version:9452000 flg = 0x4000000 pkg = com.google .android.play.games cmp = com.google.android.play.games/com.google.android.gms.games.ui.client.main.ClientSettingsActivity (エクストラがあります)u = 0} pid 10924 08-06 22:59:07.997 430-1615 /? I/ActivityManager: アクティビティ のproc com.google.android.play.games.uiを開始します。com.google.android.play.games/com.google.android.gms.games.ui.client.main.ClientSettingsActivity: PID = 11180 UID = 10086件のGID = {1028} E/dalvikvmは: 方法com.google.android.gms.games.uiから参照 クラス 'android.app.ActivityManager $ TaskDescription'、見つかりませんでした。 client.ClientFragmentActivity.instantiateGoogleApiClient ** 08-06 22:59:08.317 11180-11180 /? W/dalvikvm:VFY: new-instance 27(Landroid/app/ActivityManager $ TaskDescription;) のLcom/google/android/gms/games/ui/client/ClientFragmentActivityに解決できません。 08-06 22:59:08.327 11180-11180 /? D/dalvikvm:VFY:オペコード0x22の代わりに 0x0084 08-06 22:59:08.327 11180-11180 /? D/dalvikvm:DexOpt: の0x86のオプティカルダイレクトコール0x007b Lcom/google/android/gms/games/ui/client/ClientFragmentActivity; .instantiateGoogleApiClient 08-06 22:59:08.347 11180-11180 /? W/dalvikvm:解決できない スーパークラス のLcom/google/android/gms/games/ui/GamesFragmentActivity $ 1; (55)08-06 22:59:08.347 11180-11180 /? W/dalvikvm:クラス のリンク「Lcom/google/android/gms/games/ui/GamesFragmentActivity $ 1;」失敗した 08-06 22:59:08.347 11180-11180 /? E/dalvikvm:クラス を見つけられませんでした 'com.google.android.gms.games.ui.GamesFragmentActivity $ 1'、方法 から を参照com.google.android.gms.games.ui.GamesFragmentActivity.onCreate 08-06 22:59:08.347 11180-11180 /? W/dalvikvm:VFY:解決できません Lcom/google/android/gms/games/ui/GamesFragmentActivity; のnew-instance 4724 (Lcom/google/android/gms/games/ui/GamesFragmentActivity $ 1; 08-06 22:59:08.347 11180-11180 /? D/dalvikvm:VFY:オペコード0x22の代わりに 0x0086 08-06 22:59:08.347 11180-11180 /? I/dalvikvm: メソッドを見つけられませんでした。メソッド から参照されたandroid.view.Window.setStatusBarColor com.google.android.gms.games.ui.GamesFragmentActivity.updateStatusBar 08-06 22:59:08.347 11180-11180 /? W/dalvikvm:VFY:解決できない 仮想メソッド8409:Landroid/view/Window;setStatusBarColor(I)V 08-06 22:59:08.347 11180-11180 /? D/dalvikvm:VFY:オペコードの置き換え 0x6eの0x00e 08-06 22:59:08.347 11180-11180 /? I/dalvikvm: メソッドを検索しました。 メソッドから参照されたandroid.view.Window.setStatusBarColor com.google.android.gms.games.ui.GamesFragmentActivity.updateStatusBar 08-06 22:59:08.347 11180-11180/? W/dalvikvm:VFY:解決できない 仮想メソッド8409:ランドローイド/ビュー/ウィンドウ; .setStatusBarColor(I)V 08-06 22:59:08.347 11180-11180 /? D/dalvikvm:VFY:オペコードの置換 0x6eの0x0034 08-06 22:59:08.347 11180-11180 /? E/dalvikvm: クラス 'android.app.ActivityManager $ TaskDescription'を検索しました。メソッド から参照 com.google.android.gms.games.ui.GamesFragmentActivity.updateTaskDescription 08-06 22:59:08.347 11180- 11180 /? W/dalvikvm:VFY: new-instance 27(Landroid/app/ActivityManager $ TaskDescription;) のLcom/google/android/gms/games/ui/GamesFragmentActivityの解決できません。 08-06 22:59:08.347 11180-11180 /? D/dalvikvm:VFY:オペコード0x22の代わりに 0x0040 08-06 22:59:08.347 11180-11180 /? W/dalvikvm: スーパークラスを解決できません Lcom/google/android/gms/games/ui/GamesFragmentActivity $ 1; (55)08-06 22:59:08.347 11180-11180 /? W/dalvikvm:クラス のリンク「Lcom/google/android/gms/games/ui/GamesFragmentActivity $ 1;」失敗した 08-06 22:59:08.347 11180-11180 /? D/dalvikvm:DexOpt:選択できません に0x88で直接コール0x6ab7 Lcom/google/android/gms/games/ui/GamesFragmentActivity; .onCreate 08-06 22:59:08.347 11180-11180 /? D/dalvikvm:DexOpt:直接選択できません の0x4fで0x007cを呼び出します。Lcom/google/android/gms/games/ui/GamesFragmentActivity; .updateTaskDescription 08-06 22:59:08.357 11180-11180 /? I/dalvikvm:59:08.357 11180から11180/は方法 から参照方法 android.app.Activity.finishAfterTransitionは、 08から06 22をandroid.support.v4.app.FragmentActivity.onBackPressed見つかりませんでしたか? W/dalvikvm:VFY:仮想を解決できません メソッド88:Landroid/app/Activity; .finishAfterTransition()V 08-06 22:59:08.357 11180-11180 /? D/dalvikvm:VFY:オペコード0x6eの代わりに 0x0012 08-06 22:59:08.377 963-1448 /? D/dalvikvm: WAIT_FOR_CONCURRENT_GCブロックされた0ms 08-06 22:59:08.557 963-1448 /? D/dalvikvm:GC_EXPLICITは564K、14%フリー9888K/11399K、一時停止 4ms + 6ms、合計179ms 08-06 22:59:08.577 11180-11180 /? W/dalvikvm:VFY: 署名で参照されるクラスが見つかりません (Landroid/view/SearchEvent;)08-06 22:59:08.577 11180-11180 /? I/dalvikvm:59:メソッド android.view.Window $ Callback.onSearchRequestedを見つけることができませんでした、方法 から参照は 8月6日22 android.support.v7.internal.view.WindowCallbackWrapper.onSearchRequested 08.577 11180から11180/? W/dalvikvm:VFY:解決できない インターフェイスメソッド8386: ランドローブ/ビュー/ウィンドウ$コールバック; .onSearchRequested (Landroid/view/SearchEvent;)Z 08-06 22:59:08.577 11180-11180 /? D/dalvikvm:VFY:オペコード0x72を0x0002に置き換えます。08-06 22:59:08.577 11180-11180 /? I/dalvikvm:メソッド を見つけることができませんでしたandroid.view.Window $ Callback.onWindowStartingActionMode、android.support.v7.internal.view.WindowCallbackWrapper.onWindowStartingActionMode 方法 から を参照する8月6日22:59:08.577 11180から11180/? W/dalvikvm:VFY:解決できない インターフェイスメソッド8390: Landroid/view/Window $コールバック;onWindowStartingActionMode (Landroid/view/ActionMode $コールバック; I)Landroid/view/ActionMode; 08-06 22:59:08.577 11180-11180 /? D/dalvikvm:VFY:オペコード0x72の代わりに 0x0002 08-06 22:59:08.597 892-894 /? D/dalvikvm:GC_CONCURRENTが解放されました 3308K、27%無料14043K/19015K、一時停止12ms + 14ms、合計74ms 08-06 22:59:08.627 11180-11183 /? D/dalvikvm:GC_CONCURRENTは5% E/AndroidUtils、230Kを解放した: getCallingContext(): com[email protected]41d70410 からパッケージ名を呼ぶ見つけることができませんでした08-06 22:59:08.867 11180-11180 /? E/ClientUiFragAct:クライアントUI startActivityForResultでアクティビティを開始する必要があります。08-06 22:59:08.867 11180-11180 /? E/GamesFragmentActivity: にアクセスできない場合、GoogleApiClientをインスタンス化します。私は別のSDKのターゲット(17、21、23、24)を使用して試した、心に留めておいてください...
を救済、私は図書館の異なるバージョンを混合し、一致試した、私が試してみましたすべてのサービスを追加し、最小限のもの(ゲーム、プラス、広告)のみを使用します。私は考えることができるすべてを試しましたが、私はかなり勉強していますし、私は比較的単純なものを見落としていると思っています。私はちょうどヒントを見つけるために考えることができる言葉のすべての変化と私のログを使用してGoogleで単一のヒントを見つけることができません。どんな助けもありがとうございます。
更新:
これは私が(ゲームループ用に作成した更新スレッドで)私のshowleaderboardsメソッドを呼び出すところである:
@Override
public boolean onAreaTouched(TouchEvent pSceneTouchEvent, float pTouchAreaLocalX, float pTouchAreaLocalY) {
if (pSceneTouchEvent.isActionDown()) {
GSGoogleServices.getInstance().showLeaderboards();
return true;
}
return super.onAreaTouched(pSceneTouchEvent, pTouchAreaLocalX, pTouchAreaLocalY);
}
そして、これが新たな活動を開始しshowLeaderboards方法自体でありますlogcatのエラーを引き起こします:
public void showLeaderboards(){
if(mHelper.isSignedIn()){
mActivity.startActivityForResult(Games.getSettingsIntent(getApiClient()), RC_UNUSED);
} else {
mHelper.beginUserInitiatedSignIn();
}
}
警告とdalvikvmの警告は何も関係ありません。あなたは 'startActivityForResult()'を呼び出すところにあなたの実際のコードを含めることができますか? – ianhanniballake
私はstartActivityForResultメソッドで元の質問を更新しました。これらのログは、Googleサービスのバージョン9.4.0とビルドツール24.0.1を使用して取得したものです。テストデバイスはアンドロイド6.1を実行しているサムスンS5であり、アンドロイド4.1を実行しているAsusトランスです。以前のサービスバージョンとビルドツールを使用した場合と同じ結果になりました23。 – Jay