java – 与三星和wiko的Android appCompat问题

目前我的应用程序有点问题,一切都在大多数设备上工作正常,但在一些三星和wiko上我得到这个错误:

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

我在互联网上看到了一些答案,他们说在proguard文件中添加以下行,在我的情况下,这不起作用

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

我的应用程序是2个模块的复合(所以我有2个proguard文件),1个模块用于主应用程序,另一个用于库

这是我的thr app模块的gradle文件:

 apply plugin: 'com.android.application'

android {
compileSdkVersion 22
buildToolsVersion "21.1.2"

defaultConfig {
    applicationId "com.refresh.quickeer"
    minSdkVersion 16
    targetSdkVersion 22
    versionCode 1
    versionName "1.0"
    multiDexEnabled true
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
    debug
            {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.1.1'
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'com.android.support:cardview-v7:22.1.0'
compile 'com.android.support:recyclerview-v7:22.+'
compile 'com.android.support:palette-v7:21.0.0'
compile 'com.xgc1986.android:parallaxpagertransformer:1.0.3'
compile project(':library')
}

请问有人解决这个问题吗?

最佳答案 在遇到此问题之前,我没有在我的应用上使用proguard.我通过设置minifyEnabled true并使用以下proguard配置解决了这个问题

-dontshrink    
-keep class !android.support.v7.internal.view.menu.**,** {*;}
-keepattributes **
-dontwarn **

我在此修复之前和之后在appthwack上测试了我的应用,以验证它是否有效.

点赞