Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.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 无法初始化Google Play服务_Android_Eclipse_Google Play Services - Fatal编程技术网

Android 无法初始化Google Play服务

Android 无法初始化Google Play服务,android,eclipse,google-play-services,Android,Eclipse,Google Play Services,这是我第一次尝试使用Google Play服务 我添加了google play服务库和BaseGameUtils库。我将我的类更改为扩展BaseGameActivity 代码如下: public class MainActivity extends BaseGameActivity implements View.OnClickListener { Button skipBut; View signInBut; @Override protected voi

这是我第一次尝试使用Google Play服务

我添加了google play服务库和BaseGameUtils库。我将我的类更改为扩展BaseGameActivity

代码如下:

public class MainActivity extends BaseGameActivity implements View.OnClickListener  {
    Button  skipBut;
    View signInBut;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
        this.requestWindowFeature(Window.FEATURE_NO_TITLE);
        this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

        setContentView(R.layout.activity_main);

        skipBut = (Button) findViewById(R.id.justPlay);
        signInBut = (View) findViewById(R.id.sign_in_button);
        skipBut.setOnClickListener(this); 
        signInBut.setOnClickListener(this);            

    }

    @Override
    public void onClick(View view) {
        // TODO Auto-generated method stub
        if(view.getId() == R.id.sign_in_button){
            beginUserInitiatedSignIn();
        }
        else if(view.getId() == R.id.justPlay){
            // play without sign in .... code ....
        }
    }

@Override
public void onSignInFailed() { 
    // TODO Auto-generated method stub
    Toast.makeText(getApplicationContext(), "fail", Toast.LENGTH_SHORT).show();
}

@Override
public void onSignInSucceeded() {
    // TODO Auto-generated method stub
    Toast.makeText(getApplicationContext(), "success", Toast.LENGTH_SHORT).show();
}
}

但我的应用程序正在崩溃。我不知道为什么。 注意:我还将app ID作为app_ID添加到清单和字符串中

<meta-data android:name="com.google.android.gms.version"
           android:value="@integer/google_play_services_version" />

<meta-data android:name="com.google.android.gms.games.*****id****"
           android:value="@string/app_id" />
更新

我尝试过使用game helper,但没有扩展到GameBaseActivity,如中所述

但仍然崩溃了:

遵循以下步骤

您需要将一些java代码添加到onCreate中,并尝试按照右栏中的步骤逐一操作

 // Java code required.
 // testDevices and loadAdOnCreate attributes are
 // no longer available.
 AdView adView = (AdView)this.findViewById(R.id.adView);
 AdRequest adRequest = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.addTestDevice("TEST_DEVICE_ID")
.build();
 adView.loadAd(adRequest);

这可能有一些用处:这是GameHelper类,我正在使用它作为库。你想告诉我什么@2Dee您指定的logcat不包含任何错误,因此确定问题可能是什么有点困难。使用包含错误的副本(即应用程序崩溃的地方)更新logcat,该副本将以e作为前缀。还请注意,当您扩展BaseGameActivity时,登录将在onStart中自动调用,因此您的按钮将无法按预期工作。如果要使用这些按钮,可以在onCreate中设置mConnectOnStart=false,也可以不扩展GameBaseActivity。仍然没有回答你的问题,只是提醒一下。是我错了还是这个链接是为了说明如何使用横幅和/或广告@用户1283633
public class MainActivity extends ActionBarActivity implements View.OnClickListener  {
    Button  skipBut;
    View signInBut;

    GameHelper mHelper;

    boolean mExplicitSignOut = false;
    boolean mInSignInFlow = false;
    GoogleApiClient mClient;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
        setContentView(R.layout.activity_main);
        this.requestWindowFeature(Window.FEATURE_NO_TITLE);
        this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);



        skipBut = (Button) findViewById(R.id.justPlay);
        signInBut = (View) findViewById(R.id.sign_in_button);
        skipBut.setOnClickListener(this); 
          signInBut.setOnClickListener(this);

        GoogleApiClient.Builder builder = new GoogleApiClient.Builder(this);
            builder.addApi(Games.API)
                   .addApi(Plus.API)
                   .addApi(AppStateManager.API)
                   .addScope(Games.SCOPE_GAMES)
                   .addScope(Plus.SCOPE_PLUS_LOGIN)
                   .addScope(AppStateManager.SCOPE_APP_STATE);
            mClient = builder.build();

            mHelper = new GameHelper(this, GameHelper.CLIENT_ALL);


            GameHelperListener listener = new GameHelper.GameHelperListener() {
                @Override
                public void onSignInSucceeded() {
                    // handle sign-in succeess
                }
                @Override
                public void onSignInFailed() {
                    // handle sign-in failure (e.g. show Sign In button)
                }

            };
            mHelper.setup(listener);


    }

    @Override
    public void onClick(View view) {
        // TODO Auto-generated method stub
        if(view.getId() == R.id.sign_in_button){
            mHelper.beginUserInitiatedSignIn();
        }
        else if(view.getId() == R.id.justPlay){
            // skipp sign in
        }
    }
}
 // Java code required.
 // testDevices and loadAdOnCreate attributes are
 // no longer available.
 AdView adView = (AdView)this.findViewById(R.id.adView);
 AdRequest adRequest = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.addTestDevice("TEST_DEVICE_ID")
.build();
 adView.loadAd(adRequest);