1

我得到一個奇怪的問題java.lang.NoClassDefFoundError android.support.v7.view.menu.MenuBuilder

致命異常: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:[email protected]') { 
      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天后,我被卡住了。我檢查了各種proguard修復程序,但運氣不好。請幫助

回答

1

在Google討論中查看此問題。

正如#150 from google groups

因爲小心-keep類 !android.support.v7.internal.view.menu。**。那裏有許多 類,它們是從appcompat的資源中引用的。

更好的解決辦法是添加以下行來代替:

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

,但使用ProGuard是黑客並不總是可行的。 –

+3

@StanislavParkhomenko它沒有爲我工作。已經檢查過一樣。 –

+0

@Ironman,有沒有其他方法? –

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' 
+0

是的,它適合我。 –

相關問題