2016-01-06 99 views
1

Facebook登錄我也跟着在https://parse.com/docs/android/guide#users-facebook-users 的build.gradle與解析問題的Android

apply plugin: 'com.android.application' 



    android { 
     compileSdkVersion 23 
     buildToolsVersion "23.0.2" 

     defaultConfig { 
      applicationId "com.test.app" 
      minSdkVersion 15 
      targetSdkVersion 22 
      versionCode 1 
      versionName "1.0" 

      multiDexEnabled true 

     } 
     buildTypes { 
      release { 
       minifyEnabled false 
       proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
      } 
     } 
    } 

    dependencies { 
     compile fileTree(include: ['*.jar'], dir: 'libs') 
     compile 'com.android.support:multidex:1.0.0' 
     compile 'com.android.support:support-v4:23.1.1' 
     compile 'com.squareup.picasso:picasso:2.5.2' 
     compile project(':volley') 
     compile 'com.parse.bolts:bolts-tasks:1.3.0' 
     compile 'com.parse.bolts:bolts-applinks:1.3.0' 
     compile 'com.parse:parse-android:1.12.0' 
     compile 'com.facebook.android:facebook-android-sdk:4.7.0' 
     compile 'com.parse:parsefacebookutils-v4-android:[email protected]' 
    } 

的文檔,但應用程序運行時,它提供了錯誤 **錯誤:執行失敗的任務「:應用程序: transformClassesWithJarMergingForDebug」。

com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: bolts/AggregateException.class**

任何幫助讚賞

+0

螺栓包被某些編譯聲明欺騙 –

+0

是的但是如何排除他們有什麼想法? –

+0

@RobertRowntree:我用multidex,但沒用.. –

回答

0

其實,我想你的問題是解決了doc

Bolts includes:

"Tasks", which make organization of complex asynchronous code more manageable. A task is kind of like a JavaScript Promise, but available for iOS and Android.

An implementation of the App Links protocol, helping you link to content in other apps and handle incoming deep-links.

所以,我從理解的是,應用鏈接已經在框架和你只需再次包含它就可以創建衝突。

如果你仍然受阻:這裏是其中的作品真的很好建立(這是在督促,因爲6個月):

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.facebook.android:facebook-android-sdk:4.0.0' 
    compile 'com.parse.bolts:bolts-android:1.+' 
    compile 'com.android.support:multidex:1.0.0' 
    compile project(':Parse') 
    compile project(':ParseCrashReporting') 
    compile project(':ParseFacebook') 

我想我有問題,也或許當時的庫在Gradle上不可用,所以我把JAR作爲我的應用程序的模塊。要做到這一點:follow the guide(還有其他方法,但它是我更喜歡的方法)。我使用子模塊的Parse 1.1.0和所有v.1.10.1,但我確定它可以在其他版本中正常工作。

+0

從哪裏得到Parse和ParseFacebook項目,在parse.com文檔中他們沒有提及手動添加項目 –

+0

但現在我得到了新問題http://stackoverflow.com/questions/33138777/java-lang-noclassdeffounderror-com-parse-facebookauthenticationprovider-in-andr –

+0

你不必總是遵循規則:) –

1

現在我的build.gradle由gradle這個文件中使用compile 'com.parse:parsefacebookutils-v4-android:[email protected]'加入ParseFacebookUtils的

apply plugin: 'com.android.application' 
android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.2" 

    defaultConfig { 
     applicationId "com.test.myapp" 
     minSdkVersion 15 
     targetSdkVersion 22 
     versionCode 1 
     versionName "1.0" 

     multiDexEnabled true 

    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    compile fileTree(include: ['*.jar'], dir: 'libs') 

    compile 'com.android.support:support-v4:23.1.1' 
    compile 'com.android.support:design:23.1.1' 
    compile 'com.squareup.picasso:picasso:2.5.2' 
    compile project(':volley') 
    compile 'com.android.support:multidex:1.0.0' 
    compile 'com.parse.bolts:bolts-tasks:1.3.0' 
    compile 'com.parse.bolts:bolts-applinks:1.3.0' 
    compile('com.facebook.android:facebook-android-sdk:4.8.2') { 
     exclude module: 'bolts-android' 
    } 
    compile 'com.parse:parse-android:1.11.0' 
    compile project(':ParseFacebookUtils') 
} 

代替。我從https://github.com/ParsePlatform/ParseFacebookUtils-Android下載了zip並解壓縮,並通過轉到項目結構>導入eclipse ADT項目,然後將其添加到應用程序錯誤中並將其添加到依賴項