5

I am getting error when i try to add Facebook as a library or as a gradle

//compile 'com.facebook.android:facebook-android-sdk:4.7.0'

Here is my android studio project structure my main App folder gradle have following library .

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

    compile project(':twitter-core-release')
    compile project(':tweet-ui-release')
    compile project(':twitter-release')
    compile project(':tweet-composer-release')
    //compile 'com.facebook.android:facebook-android-sdk:4.7.0'
    compile project(':facebook_sk')
    compile 'com.android.support:appcompat-v7:23.0.1'
    compile 'com.android.support:design:23.0.1'
    compile 'com.squareup.retrofit:retrofit:2.0.0-beta1'
    compile 'com.squareup.retrofit:converter-jackson:2.0.0-beta1'
    compile 'com.squareup.retrofit:adapter-rxjava:2.0.0-beta1'
    compile 'com.twotoasters.jazzylistview:library:1.2.1'
    compile 'com.twotoasters.jazzylistview:library-recyclerview:1.2.1'
    compile 'com.pnikosis:materialish-progress:1.7'
    compile 'com.google.android.gms:play-services-gcm:8.1.0'
    compile 'com.android.support:recyclerview-v7:23.0.1'
    compile 'io.realm:realm-android:0.82.2'
    compile 'com.google.android.gms:play-services-analytics:8.1.0'
    compile 'jp.wasabeef:recyclerview-animators:1.3.0'
    compile 'com.google.code.gson:gson:2.3'
    compile 'io.fabric.sdk.android:fabric:1.3.+@aar'
    compile 'com.digits.sdk.android:digits:1.7.+@aar'

in my app libs it have universal-image-loader-1.9.4.jar

and in facebook_sk it have following

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'
    //compile 'com.android.support:appcompat-v7:23.0.1'
    compile 'com.android.support:support-v4:23.0.1'
}

in facebook libs it have bolts-android-1.1.2.jar

if i removed facebook skd and build my project then it running fine in studio but when i unable facebook sdk then it give me following error :

Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.android.build.transform.api.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/Library/Java/JavaVirtualMachines/jdk1.8.0_51.jdk/Contents/Home/bin/java'' finished with non-zero exit value 2

Do i need to use multidex ?

Herry
  • 7,037
  • 7
  • 50
  • 80
  • Why dont you try to use multidex ? – AndiGeeky Oct 13 '15 at 06:28
  • ok let me but why studio not giving issue like Conversion to Dalvik format failed: Unable to execute dex: method ID not in [0, 0xffff]: 65536 for method overflow – Herry Oct 13 '15 at 06:31

3 Answers3

10

For now i resolved issue by adding multidex

defaultConfig {
        applicationId "com.xxxxx"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        // Enabling multidex support.
        multiDexEnabled true
    }


dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile project(':twitter-core-release')
    compile project(':tweet-ui-release')
    compile project(':twitter-release')
    compile project(':tweet-composer-release')
    //compile 'com.facebook.android:facebook-android-sdk:4.7.0'
    compile project(':facebook_sk')
    compile 'com.squareup.retrofit:retrofit:2.0.0-beta1'
    compile 'com.squareup.retrofit:converter-jackson:2.0.0-beta1'
    compile 'com.squareup.retrofit:adapter-rxjava:2.0.0-beta1'
    compile 'com.twotoasters.jazzylistview:library:1.2.1'
    compile 'com.twotoasters.jazzylistview:library-recyclerview:1.2.1'
    compile 'com.pnikosis:materialish-progress:1.7'
    compile 'com.google.android.gms:play-services-gcm:8.1.0'
    compile 'com.google.android.gms:play-services-analytics:8.1.0'
    compile 'io.realm:realm-android:0.82.2'
    compile 'jp.wasabeef:recyclerview-animators:1.3.0'
    compile 'com.google.code.gson:gson:2.3'
    compile 'io.fabric.sdk.android:fabric:1.3.+@aar'
    compile 'com.digits.sdk.android:digits:1.7.+@aar'
    compile 'com.android.support:multidex:1.0.1'
}

And for Facebook sdk :

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'
    //compile 'com.android.support:appcompat-v7:23.0.1'
    compile 'com.android.support:support-v4:23.0.1'
    compile 'com.android.support:appcompat-v7:23.0.1'
    compile 'com.android.support:design:23.0.1'
    compile 'com.android.support:recyclerview-v7:23.0.1'
}
Herry
  • 7,037
  • 7
  • 50
  • 80
3

I get the same error when I have duplicate dependencies with different versions.

Try this command and check if there something twice:

gradle dependencies
MiguelCatalan
  • 916
  • 10
  • 26
0

I had to enable the multiDex and assign javaMaxHeapSize "4g" otherwise getting outofmemory error.

Need the following in app build gradle file, inside android, the defaultConfig is already there, just have to add the multiDexEnabled true in there, dexOptions is new.

defaultConfig {
    multiDexEnabled true
}

dexOptions {
    javaMaxHeapSize "4g"
}
s-hunter
  • 24,172
  • 16
  • 88
  • 130