目前我的应用程序有点问题,一切都在大多数设备上工作正常,但在一些三星和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上测试了我的应用,以验证它是否有效.