java.lang.NoClassDefFoundError android.support.v7.view.menu.MenuBuilder

时间:2016-07-08 10:33:02

标签: android material-design android-support-library android-toolbar

我遇到了一个奇怪的问题

  

致命异常:java.lang.NoClassDefFoundError   android.support.v7.view.menu.MenuBuilder

主要在4.2.24.4.2设备上。当我开始在我的应用程序代码中使用supportv7库来利用材料设计TOOLBAR时,就发生了这种情况。

以下是我的build.gradle依赖项:

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

        compile files('libs/sinch-android-verification-1.0.4.jar')
        compile project(':library')
        compile('com.crashlytics.sdk.android:crashlytics:2.2.2@aar') {
            transitive = true;
        }

        compile 'com.android.support:appcompat-v7:23.1.1'
        compile 'com.mixpanel.android:mixpanel-android:4.6.0'
        compile 'uk.co.chrisjenx:calligraphy:2.0.2'
        compile 'it.sephiroth.android.library.horizontallistview:hlistview:1.2.2'
        compile 'com.google.code.gson:gson:2.3.1'
        compile 'com.google.android.gms:play-services-gcm:8.4.0'
        compile 'io.branch.sdk.android:library:1.8.8'
        compile 'com.android.support:support-v4:23.3.0'
        compile 'com.squareup.okhttp3:okhttp:3.3.1'
        compile 'com.android.support:design:23.3.0'
        compile 'com.github.freshdesk:hotline-android:1.0.+'
        //compile 'com.facebook.android:facebook-android-sdk:[4,5)'
        compile 'com.google.android.gms:play-services-appindexing:8.4.0'
}

任何人都可以帮忙。我被困在2天后就一样了。我检查了各种程序修复,但也运气不好。请帮忙

2 个答案:

答案 0 :(得分:1)

在Google讨论中查看此问题。

正如#150 from google groups所说

  

因为小心使用-keep class   !android.support.v7.internal.view.menu。**。有很多   那里的类​​是从appcompat的资源中引用的。

更好的解决方案是添加以下行:

-keep class !android.support.v7.internal.view.menu.*MenuBuilder*, android.support.v7.** { *; }
-keep interface android.support.v7.** { *; }

答案 1 :(得分:1)

对我来说没有任何作用,找到这个解决方案需要2周时间:

将构建工具更改为:

buildToolsVersion "23.0.3"

并替换

compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:support-v4:23.1.1'
compile 'com.android.support:design:23.1.1'

compile 'com.android.support:cardview-v7:23.1.1'
compile 'com.android.support:recyclerview-v7:23.1.1'
compile 'com.android.support:palette-v7:23.1.1'

compile 'com.android.support:appcompat-v7:24.2.1'
compile 'com.android.support:support-v4:24.2.1'
compile 'com.android.support:design:24.2.1'

compile 'com.android.support:cardview-v7:24.2.1'
compile 'com.android.support:recyclerview-v7:24.2.1'
compile 'com.android.support:palette-v7:24.2.1'