2017-07-14 67 views
0

我的Android應用程序將文件轉儲到Gdrive中。它使用Oauth2.0身份驗證,我在console.developers.google.com上完成了必要的操作。我面臨的問題是,該應用在我的棉花糖手機上運行良好,但無法通過我的軟糖或更低級別的Google登錄。在這些上,應用程序卡在「選擇帳戶」窗口。Android GoogleApiClient連接到MARSHMALLOW,但不連接到JELLY_BEAN

工作室的Android顯示器返回如下:記住

GoogleApiClient connection failed: ConnectionResult{statusCode=SIGN_IN_REQUIRED, resolution=PendingIntent{419cbb80 ... 

飼養的應用程序不會棉花糖手機上的工作,我的懷疑是,這個問題在應用程序的構建相關的「版本」之一.grade文件,其摘錄如下。

compileSdkVersion 23 
buildToolsVersion "26.0.0" 

defaultConfig { 
    applicationId "rudy.android.stgpro" 
    minSdkVersion 9 
    targetSdkVersion 18 
} 
buildTypes { 
    release { 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     signingConfig signingConfigs.rudykeystore 
    } 
    debug { 
     signingConfig signingConfigs.rudykeystore 
    } 
} 

dependencies { 
compile fileTree(include: ['*.jar'], dir: 'libs') 
compile 'com.android.support:appcompat-v7:23.0.1' 
compile 'com.google.android.gms:play-services-drive:8.4.0' 
} 

或者,也許Oauth2.0不適用於早期的Android版本。

我還注意到,加載到棉花糖的應用程序的大小約爲裝入其他兩部手機的大小的40%。

谷歌的雲端硬盤應用在所有手機上都能正常工作。

我已經搜索了幾個小時,現在幾乎都陷入了困境。有什麼建議麼?

+0

Jelly Bean是Android 16版本,但是您的targetSdkVersion設置爲18.根據[Android 4.1 APIs文檔](https://developer.android.com/about/versions/android-4.1)嘗試將其設置爲16的.html)。確保Android Studio也具有Android 16的必要更新。 – noogui

+0

試過...沒有運氣。事實上,我已經嘗試了一些compileSdkVersion,minSdkVersion,targetSdkVersion,play-services-drive的組合。 – RudyF

回答

0

多少「血,汗和淚」,我發現,這個問題在AndroidManifest.xml文件一行打下後...

android:launchMode="singleInstance" 

我不知道爲什麼這條線影響手機運行果凍豆但更低,但不是棉花糖(不知道關於奇巧&棒棒糖)。而且,爲了清楚起見,該行直接切換問題的存在/不存在(其他零變化)。

我將Drives's Quickstart作爲基礎(其連接與我所有的測試手機配合使用),然後通過從應用代碼中添加/刪除(花了我幾天時間)逐漸修改其代碼。

無論如何,謝天謝地,這些工作樣本。