facebook登录解析问题android

时间:2016-01-06 16:07:13

标签: android facebook parse-platform

我按照https://parse.com/docs/android/guide#users-facebook-users处的文档进行操作 的的build.gradle

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:1.10.3@aar'
    }

但是当运行应用程序时,它会给出错误 **错误:任务':app:transformClassesWithJarMergingForDebug'的执行失败。

  

com.android.build.api.transform.TransformException:java.util.zip.ZipException:重复条目:bolts / AggregateException.class **

任何帮助表示赞赏

2 个答案:

答案 0 :(得分:1)

现在我的 build.gradle

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

而不是在gradle文件中使用compile 'com.parse:parsefacebookutils-v4-android:1.10.3@aar'添加ParseFacebookUtils。我从https://github.com/ParsePlatform/ParseFacebookUtils-Android下载了zip并解压缩并将其添加到依赖项中,转到项目结构> import eclipse ADT项目然后将其添加到app depdencies

答案 1 :(得分:0)

实际上,我猜您的问题已在doc中解决:

  

螺栓包括:

     

"任务",使复杂异步代码的组织更易于管理。任务有点像JavaScript Promise,但适用于iOS和Android。

     

App Links协议的实现,帮助您链接到其他应用程序中的内容并处理传入的深层链接。

所以我从中理解的是,App Link已经在框架中,并且您只是通过再次包含它来创建冲突。

如果您仍然被阻止:这是一个非常有效的构建(自6个月以来就是prod):

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')

我想我也遇到了问题,或者当时这些libs在gradle上不可用,所以我将JAR s作为我的应用程序的模块。为此:follow the guide(还有其他方法,但这是我更喜欢的方法)。我使用了Parse 1.1.0和所有v.1.10.1个子模块,但我确信它对其他版本也有效。