java.lang.NoClassDefFoundError: com.viewpagerindicator.R$attr on APi =< 19

java.lang.NoClassDefFoundError: com.viewpagerindicator.R$attr on APi =< 19

我在我的项目中使用 https://github.com/JakeWharton/ViewPagerIndicator。 并在 API <= 19:

的设备上获取 java.lang.NoClassDefFoundError

如果 API > 19 - 没问题。 我的 build.gradle:

apply plugin: 'com.android.application'
apply plugin: 'android-command'
apply plugin: "jacoco"
apply plugin: 'newrelic'

jacoco {
    toolVersion = "0.7.1.201405082137"
}

    def coverageSourceDirs = [
        '../app/src/main/java'
]

task jacocoTestReport(type: JacocoReport, dependsOn:         "connectedAndroidTest") {
    group = "Reporting"

    description = "Generate Jacoco coverage reports"

    classDirectories = fileTree(
        dir: '../app/build/intermediates/classes/debug',
        excludes: ['**/R.class',
                   '**/R$*.class',
                   '**/*$ViewInjector*.*',
                   '**/BuildConfig.*',
                   '**/Manifest*.*']
    )

    additionalSourceDirs = files(coverageSourceDirs)
    sourceDirectories = files(coverageSourceDirs)
    executionData = files('../app/build/jacoco/testDebug.exec')

    reports {
        xml.enabled = false
        html.enabled = true
    }
}

android {
    compileSdkVersion 23
    buildToolsVersion '23'

    lintOptions {
        abortOnError false
    }

    defaultConfig {
        applicationId "xxx"
        minSdkVersion 16
        targetSdkVersion 22
        versionCode 4
        versionName "1.3"
        multiDexEnabled = true
    }

    buildTypes {
        debug {
            debuggable true
            testCoverageEnabled = true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }

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

dependencies {
    compile 'com.squareup:otto:1.3.8'
    compile 'com.pnikosis:materialish-progress:1.5'
    compile 'com.newrelic.agent.android:android-agent:5.+'
    compile 'com.prolificinteractive:material-calendarview:0.8.0'
    compile 'com.github.lecho:hellocharts-library:1.5.5@aar'
    compile 'com.github.orangegangsters:swipy:1.2.0@aar'
    compile 'fr.avianey.com.viewpagerindicator:library:2.4.1@aar'
    compile 'com.jakewharton:butterknife:6.1.0'
    compile 'com.squareup.retrofit:retrofit:1.9.0'
    compile 'com.android.support:design:23.0.0'
    compile 'com.android.support:recyclerview-v7:23.0.0'
    compile 'com.android.support:cardview-v7:23.0.0'
    compile 'com.google.android.gms:play-services:7.8.0'
    compile 'de.hdodenhof:circleimageview:1.3.0'
    compile 'org.solovyev.android.views:linear-layout-manager:0.5@aar'
    androidTestCompile 'com.jayway.android.robotium:robotium-solo:5.4.1'
}

也许有人有同样的问题。 我还尝试将 Viewpager 库作为项目导入,并使用了下一种方法:Add ViewPagerIndicator to Android Studio,但没有任何改变。

问题出在 65k 方法限制中。 您可以找到说明 here.