java.lang.NoClassDefFoundError:retrofit2.Retrofit $ Builder Fabric初始化

时间:2016-09-08 09:19:29

标签: android retrofit2 twitter-fabric

我正在为我的应用程序使用Fabric API和twitter Kit,但我总是只为某些构建版本收到错误。 就我在API 19上的情况而言,我收到了错误:

Fabric.with(this, new Twitter(authConfig));

这是错误

java.lang.NoClassDefFoundError: retrofit2.Retrofit$Builder
at com.twitter.sdk.android.core.internal.oauth.OAuthService.<init>(OAuthService.java:69)
  at com.twitter.sdk.android.core.internal.oauth.OAuth2Service.<init>(OAuth2Service.java:59)
    at com.twitter.sdk.android.core.TwitterCore.createGuestSessionProvider(TwitterCore.java:223)
    at com.twitter.sdk.android.core.TwitterCore.getGuestSessionProvider(TwitterCore.java:216)
    at com.twitter.sdk.android.tweetui.TweetUi.onPreExecute(TweetUi.java:77)
    at io.fabric.sdk.android.InitializationTask.onPreExecute(InitializationTask.java:44)
    at io.fabric.sdk.android.services.concurrency.AsyncTask.executeOnExecutor(AsyncTask.java:611)
    at io.fabric.sdk.android.services.concurrency.PriorityAsyncTask.executeOnExecutor(PriorityAsyncTask.java:43)
    at io.fabric.sdk.android.Kit.initialize(Kit.java:69)
    at io.fabric.sdk.android.Fabric.initializeKits(Fabric.java:439)
    at io.fabric.sdk.android.Fabric.init(Fabric.java:383)
    at io.fabric.sdk.android.Fabric.setFabric(Fabric.java:341)
    at io.fabric.sdk.android.Fabric.with(Fabric.java:312)
    at com.lmst.runnincity.Model.SkobblerAddOn.onCreate(SkobblerAddOn.java:39)
    at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1007)
    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4446)
    at android.app.ActivityThread.access$1500(ActivityThread.java:143)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1302)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:136)
    at android.app.ActivityThread.main(ActivityThread.java:5124)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:515)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:797)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:613)
    at dalvik.system.NativeStart.main(Native Method)

这是我的build.gradle

    buildscript {
    repositories {
        maven { url 'https://maven.fabric.io/public' }
    }

    dependencies {
        classpath 'io.fabric.tools:gradle:1.+'
    }
}

apply plugin: 'com.android.application'
apply plugin: 'io.fabric'

android {
    compileSdkVersion 24
    buildToolsVersion "24.0.0"

    defaultConfig {
        applicationId "com.**********"
        minSdkVersion 15
        targetSdkVersion 24
        versionCode 2
        versionName "1.1.1"
        multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            zipAlignEnabled true
        }
    }
    sourceSets { main { assets.srcDirs = ['src/main/assets', 'src/main/assets/'] } }
}

repositories {
    mavenCentral()
    maven { url 'https://maven.fabric.io/public' }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'
    compile 'com.google.code.gson:gson:2.7'
    compile 'com.android.support:appcompat-v7:24.0.0'
    compile 'com.google.firebase:firebase-core:9.2.0'
    compile 'com.google.firebase:firebase-database:9.2.0'
    compile 'com.google.firebase:firebase-storage:9.2.0'
    compile 'com.google.firebase:firebase-auth:9.2.0'
    compile 'com.wx.wheelview:wheelview:1.3.3'
    compile project(':sdktools')
    compile 'com.google.android.gms:play-services-appindexing:9.2.0'
    compile 'uk.co.chrisjenx:calligraphy:2.2.0'
    compile 'com.github.lzyzsd:circleprogress:1.1.0@aar'
    compile 'com.facebook.android:facebook-android-sdk:[4,5)'
    compile('com.twitter.sdk.android:twitter:2.0.0@aar') {
        compile('com.twitter.sdk.android:tweet-composer:2.0.0@aar') {
            transitive = true;
        }
        transitive = true;
    }

}


apply plugin: 'com.google.gms.google-services'

1 个答案:

答案 0 :(得分:-2)

尝试包含对多索引https://developer.android.com/studio/build/multidex.html的支持 我的依赖关系很简单,就像Crashlytics一样:

dependencies {
  compile fileTree(dir: 'libs', include: ['*.jar'])
  compile('com.crashlytics.sdk.android:crashlytics:2.6.6@aar') {
    transitive = true;
  }
  compile('com.twitter.sdk.android:twitter:2.3.1@aar') {
    transitive = true;
  }
  ...
  compile 'com.android.support:multidex:1.0.1'
}