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项目,然后将其添加到应用程序错误中并将其添加到依赖项