如何在Android Studio中使用Google Plus集成

我正在申请,我想与G +集成,使用户login与谷歌帐户。 要创build应用程序,我使用Android Studio

我阅读堆栈溢出许多问题和答案,但我无法修复我的应用程序!

这里是我做的步骤:
1.将google-play-services.jar添加到我的项目的libs文件夹中
2.在Android-Studio项目浏览器的jar文件中点击“Add As Library”
3.从网上的例子添加脚本到java文件
4.将google-play-services.jar库添加到Build.Gradle文件
5.启动应用程序会导致崩溃

问题是: 如何在使用Android Studio的应用程序中添加Google+委内瑞拉,我做错了什么?感谢您的帮助

这里是我的源代码:

Java类:

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 && 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 /// *** /// (...) } 

布局XML:

 <?xml version="1.0" encoding="utf-8"?> <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"> <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"/> <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"/> <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"> <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content" android:baselineAligned="false" android:clickable="false" > <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_gravity="top" android:id="@+id/gps_row"> <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"/> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:weightSum="3" android:layout_marginTop="10dp"> <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"/> <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"/> </LinearLayout> </LinearLayout> <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"> <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"/> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:weightSum="3" android:layout_marginTop="10dp"> <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"/> <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"/> <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"/> </LinearLayout> </LinearLayout> </LinearLayout> </ScrollView> </RelativeLayout> 

的build.gradle:

 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 } } 

Solutions Collecting From Web of "如何在Android Studio中使用Google Plus集成"

您可以使用Google Repository,而无需在代码中导入任何库(.jar)

更新 :如果您在寻找Google(或第三方)图书馆,您可以查看: http : //gradleplease.appspot.com/ (由Google开发人员Chris Broadfoot撰写)

 dependencies { compile 'com.google.android.gms:play-services:4.4.52' compile 'com.android.support:support-v4:19.1.0' // compile files('libs/android-support-v4.jar') // OLD: can remove // Other useful library // compile 'com.android.support:appcompat-v7:19.1.0' // compile 'com.android.support:gridlayout-v7:19.1.0' // compile 'com.android.support:mediarouter-v7:19.1.0' // compile 'com.android.support:support-v13:19.1.0' // Note: these libraries require the "Google Repository" and "Android Repository" // to be installed via the SDK manager. } 

参考: https : //plus.google.com/+AndroidDevelopers/posts/4Yhpn6p9icf

Google plus在android studio中的集成非常简单,请遵循以下步骤。

1.添加播放服务依赖关系来构build。

2.将jsonconfiguration文件添加到您的应用程序目录,您可以从Google Developer控制台获取该目录

3.build立GoogleSignInOption和GoogleApiClient,并点击button启动Googlelogin。

有关更多详细信息,您可以通过本教程Google plus在android studio中进行集成