Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我的android游戏应用程序中com.google.android.gms.common.a.a(未知源)上的NullPointerException_Android_Andengine_Google Play Services_Google Play Games - Fatal编程技术网

我的android游戏应用程序中com.google.android.gms.common.a.a(未知源)上的NullPointerException

我的android游戏应用程序中com.google.android.gms.common.a.a(未知源)上的NullPointerException,android,andengine,google-play-services,google-play-games,Android,Andengine,Google Play Services,Google Play Games,在我的android游戏中,我收到了很多关于这个错误报告的崩溃报告。有人能告诉我为什么会这样吗 java.lang.NullPointerException at com.google.android.gms.common.a.a(Unknown Source) at com.google.example.games.basegameutils.GameHelper.k(Unknown Source) at com.google.example.games.basegameutils.GameH

在我的android游戏中,我收到了很多关于这个错误报告的崩溃报告。有人能告诉我为什么会这样吗

java.lang.NullPointerException
at com.google.android.gms.common.a.a(Unknown Source)
at com.google.example.games.basegameutils.GameHelper.k(Unknown Source)
at com.google.example.games.basegameutils.GameHelper.a(Unknown Source)
at com.google.android.gms.internal.hk.a(Unknown Source)
at com.google.android.gms.common.api.e.e(Unknown Source)
at com.google.android.gms.common.api.e.d(Unknown Source)
at com.google.android.gms.common.api.i.a(Unknown Source)
at com.google.android.gms.internal.hk.a(Unknown Source)
at com.google.android.gms.internal.hj.a(Unknown Source)
at com.google.android.gms.internal.hj.a(Unknown Source)
at com.google.android.gms.internal.gz.c(Unknown Source)
at com.google.android.gms.internal.gy.handleMessage(Unknown Source)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4424)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:817)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:584)
at dalvik.system.NativeStart.main(Native Method)
虽然我无法重现崩溃问题,但肯定与排行榜/谷歌PlayServices有关

下面是我如何在gameactivity类的onCreate方法中启动GameHelper

public static GameHelper mHelper;
public void onCreate(Bundle savedInstanceState) {
    mHelper = new GameHelper(this, GameHelper.CLIENT_GAMES);
    GameHelperListener listener = new GameHelper.GameHelperListener() {
        @Override
        public void onSignInSucceeded() {
            // handle sign-in succeess 
            Log.d("auth","sign in successful");
        }
        @Override
        public void onSignInFailed() {
            // handle sign-in failure (e.g. show Sign In button)
            Log.d("leaderboard","sign in failed");
        }

    };
    super.onCreate(savedInstanceState);
    mHelper.setup(listener);
}
下面是我如何在游戏场景脚本中使用gamehelper来打开排行榜

if (GameActivity.mHelper.isSignedIn()) {
                        activity.startActivityForResult(Games.Leaderboards.getLeaderboardIntent(GameActivity.mHelper.getApiClient(), "LEADERBOARD_ID"), 1);
                        Log.d("leaderboard","already signed in so open leaderboard");
                    } else{
                        GameActivity.mHelper.beginUserInitiatedSignIn();

                        Log.d("leaderboard","is connected "+GameActivity.mHelper.getApiClient().isConnected());
                        Log.d("leaderboard","not signed in so fisrt open signin");
                    }
这是清单活动代码

<activity android:name="com.google.example.games.basegameutils.GameHelper"
        android:configChanges="orientation|keyboardHidden"
        android:windowSoftInputMode="stateHidden"
        android:screenOrientation="portrait"
            android:label="@string/app_name" />


您是如何使用
com.google.example
以软件包名称发布此文件的?这里有什么问题吗?既然您已经破坏了代码,我们唯一能提供帮助的方法就是查看相关代码并希望发现它。我打赌你没有正确编码活动生命周期。您的清单中是否有android:configChanges?@Simon否我没有发布com.google.example我只是使用googleplayservices gamehelper类来使用google play排行榜。用相关代码编辑了问题。
android:configChanges=“orientation | keyboardHidden
-这是一个黑客行为,很糟糕。取出它,重建,旋转设备并修复错误。你已经隐藏了方向更改的错误(因为你停止了方向更改)但是它们仍然存在,因为可以重新创建您的活动的所有其他原因。您还应该了解onPause()和onResume()。我敢打赌,即使有这种黑客攻击,当电话铃响时,您的应用程序也会崩溃。