title: How to use Google Plus Integration in Android Studio
body: <p>I'm making application and I want to integrate it with G+, to make user login with Google account. To create app I use <strong>Android Studio</strong>.</p>
  
  <p>I read many question and answers on Stack Overflow but I can't fix my app!</p>
  
  <p><strong>Here are steps I made:</strong><br>
  1. Add <em>google-play-services.jar</em> to libs folder of my project<br>
  2. Click "Add As Library" on jar file in Android-Studio project explorer<br>
  3. Add script to java file from example in the web<br>
  4. Add <em>google-play-services.jar</em> library to <em>Build.Gradle</em> file<br>
  5. Starting the app makes it crash<br></p>
  
  <p>The question is: <strong>How to add Google+ ingeration to application made using Android Studio, am I doing something wrong?, Thank your for you help</strong>.</p>
  
  <p><em><strong>Here are my source codes:</em></strong></p>
  
  <p><strong>Java Class:</strong></p>
  
  <pre><code>import com.google.android.gms.common.ConnectionResult;
  import com.google.android.gms.common.GooglePlayServicesClient.ConnectionCallbacks;
  import com.google.android.gms.common.GooglePlayServicesClient.OnConnectionFailedListener;
  import com.google.android.gms.plus.PlusClient;
  
  public class StartActivity extends Activity implements View.OnClickListener, ConnectionCallbacks, OnConnectionFailedListener {
  
      private static final String TAG = "ExampleActivity";
      private static final int REQUEST_CODE_RESOLVE_ERR = 9000;
  
      private ProgressDialog mConnectionProgressDialog;
      private PlusClient mPlusClient;
      private ConnectionResult mConnectionResult;
  
  
      @Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.loading_screen);
  
          mPlusClient = new PlusClient.Builder(this, this, this)
                  .setVisibleActivities("http://schemas.google.com/AddActivity", "http://schemas.google.com/BuyActivity")
                  .build();
  
          mConnectionProgressDialog = new ProgressDialog(this);
          mConnectionProgressDialog.setMessage("Signing in...");
  
          initializeSplashElements();
  
      }
  
  
      ///     ***     ///         PLUS INTEGRATION        ///     ***     ////
  
      @Override
      protected void onStart() {
          super.onStart();
          mPlusClient.connect();
      }
  
      @Override
      protected void onStop() {
          super.onStop();
          mPlusClient.disconnect();
      }
  
      @Override
      public void onConnectionFailed(ConnectionResult result) {
          if (result.hasResolution()) {
              try {
                  result.startResolutionForResult(this, REQUEST_CODE_RESOLVE_ERR);
              } catch (IntentSender.SendIntentException e) {
                  mPlusClient.connect();
              }
          }
          // Save the result and resolve the connection failure upon a user click.
          mConnectionResult = result;
      }
  
      @Override
      protected void onActivityResult(int requestCode, int responseCode, Intent intent) {
          if (requestCode == REQUEST_CODE_RESOLVE_ERR &amp;&amp; responseCode == RESULT_OK) {
              mConnectionResult = null;
              mPlusClient.connect();
          }
      }
  
      @Override
      public void onConnected(Bundle bundle) {
          String accountName = mPlusClient.getAccountName();
          Toast.makeText(this, accountName + " is connected.", Toast.LENGTH_LONG).show();
      }
  
      @Override
      public void onDisconnected() {
          Log.d(TAG, "disconnected");
      }
  
      ///     ***     ///         PLUS INTEGRATION        ///     ***     ///
  
      (...)
  
  }
  </code></pre>
  
  <p><strong>Layout XML:</strong></p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  
  &lt;RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                xmlns:tools="http://schemas.android.com/tools"
                android:orientation="vertical"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                tools:context=".StartActivity"
                android:clickable="false"
                android:background="@drawable/ziel_pomar_tlo"&gt;
  
      &lt;ImageView
              android:layout_width="fill_parent"
              android:layout_height="150dp"
              android:id="@+id/splashLogo"
              android:src="@drawable/catch_up_logo_flatten"
              android:contentDescription="@string/catchup_logo_describe"
              android:layout_marginTop="40dp"
              android:layout_alignParentTop="true"
              android:layout_alignParentLeft="true"
              android:focusable="false"/&gt;
  
      &lt;TextView
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:textAppearance="?android:attr/textAppearanceLarge"
              android:text="@string/loading_3dot"
              android:id="@+id/loadingText"
              android:enabled="true"
              android:gravity="center"
              android:textSize="40dp"
              android:layout_alignParentBottom="true"
              android:layout_alignParentLeft="true"
              android:layout_alignParentRight="true"
              android:layout_marginLeft="35dp"
              android:layout_marginRight="35dp"
              android:layout_marginBottom="35dp"/&gt;
  
      &lt;ScrollView
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:id="@+id/scrollView"
              android:layout_above="@+id/loadingText"
              android:layout_below="@+id/splashLogo"
              android:layout_margin="10dp"
              android:layout_alignParentEnd="false"
              android:layout_centerHorizontal="true"&gt;
  
          &lt;LinearLayout
                  android:orientation="vertical"
                  android:layout_width="fill_parent"
                  android:layout_height="wrap_content"
                  android:baselineAligned="false"
                  android:clickable="false"
                  &gt;
  
              &lt;LinearLayout
                      android:orientation="vertical"
                      android:layout_width="fill_parent"
                      android:layout_height="wrap_content"
                      android:layout_gravity="top"
                      android:id="@+id/gps_row"&gt;
  
                  &lt;TextView
                          android:layout_width="fill_parent"
                          android:layout_height="wrap_content"
                          android:text="@string/loading_screen_no_gps"
                          android:id="@+id/gps_desc"
                          android:textSize="20dp"/&gt;
  
                  &lt;LinearLayout
                          android:layout_width="fill_parent"
                          android:layout_height="wrap_content"
                          android:weightSum="3"
                          android:layout_marginTop="10dp"&gt;
  
                      &lt;Button
                              style="?android:attr/buttonStyleSmall"
                              android:layout_width="wrap_content"
                              android:layout_height="wrap_content"
                              android:text="@string/loading_screen_no_gps_settings"
                              android:id="@+id/gps_settings"
                              android:layout_weight="2"/&gt;
  
                      &lt;Button
                              style="?android:attr/buttonStyleSmall"
                              android:layout_width="wrap_content"
                              android:layout_height="wrap_content"
                              android:text="@string/loading_screen_no_gps_ok"
                              android:id="@+id/gps_fixed"
                              android:layout_weight="1"/&gt;
                  &lt;/LinearLayout&gt;
              &lt;/LinearLayout&gt;
  
              &lt;LinearLayout
                      android:orientation="vertical"
                      android:layout_width="fill_parent"
                      android:layout_height="wrap_content"
                      android:id="@+id/web_row"
                      android:layout_gravity="bottom|top"
                      android:layout_marginTop="20dp"&gt;
  
                  &lt;TextView
                          android:layout_width="fill_parent"
                          android:layout_height="wrap_content"
                          android:text="@string/loading_screen_no_web"
                          android:id="@+id/web_desc"
                          android:textSize="20dp"/&gt;
  
                  &lt;LinearLayout
                          android:layout_width="fill_parent"
                          android:layout_height="wrap_content"
                          android:weightSum="3"
                          android:layout_marginTop="10dp"&gt;
  
                      &lt;Button
                              style="?android:attr/buttonStyleSmall"
                              android:layout_width="wrap_content"
                              android:layout_height="wrap_content"
                              android:text="@string/loading_screen_no_web_settings"
                              android:id="@+id/web_wifi_settings"
                              android:layout_weight="1"/&gt;
  
                      &lt;Button
                              style="?android:attr/buttonStyleSmall"
                              android:layout_width="wrap_content"
                              android:layout_height="wrap_content"
                              android:text="@string/loading_screen_no_web_settings2"
                              android:id="@+id/web_3g_settings"
                              android:layout_weight="1"/&gt;
  
                      &lt;Button
                              style="?android:attr/buttonStyleSmall"
                              android:layout_width="wrap_content"
                              android:layout_height="wrap_content"
                              android:text="@string/loading_screen_no_web_ok"
                              android:id="@+id/web_fixed"
                              android:layout_weight="1"/&gt;
                  &lt;/LinearLayout&gt;
              &lt;/LinearLayout&gt;
          &lt;/LinearLayout&gt;
      &lt;/ScrollView&gt;
  
  &lt;/RelativeLayout&gt;
  </code></pre>
  
  <p><strong>Build.Gradle:</strong></p>
  
  <pre><code>buildscript {
      repositories {
          maven { url 'http://repo1.maven.org/maven2' }
      }
      dependencies {
          classpath 'com.android.tools.build:gradle:0.4'
      }
  }
  apply plugin: 'android'
  
  dependencies {
      compile files('libs/android-support-v4.jar', 'libs/google-play-services.jar')
  }
  
  android {
      compileSdkVersion 17
      buildToolsVersion "17.0.0"
  
      defaultConfig {
          minSdkVersion 11
          targetSdkVersion 17
          compileSdkVersion 17
      }
  }
  </code></pre>