2016-08-12 4 views
0

J'obtiens l'erreur suivante:

E/AndroidRuntime(19669): FATAL EXCEPTION: main 
E/AndroidRuntime(19669): Process: abc.com.abc, PID: 19669 
E/AndroidRuntime(19669): java.lang.NoClassDefFoundError: net.simonvt.menudrawer.R$attr 
E/AndroidRuntime(19669): at net.simonvt.menudrawer.MenuDrawer.<init>(MenuDrawer.java:542) 
E/AndroidRuntime(19669): at net.simonvt.menudrawer.MenuDrawer.<init>(MenuDrawer.java:538) 
E/AndroidRuntime(19669): at net.simonvt.menudrawer.MenuDrawer.<init>(MenuDrawer.java:531) 
E/AndroidRuntime(19669): at net.simonvt.menudrawer.DraggableDrawer.<init>(DraggableDrawer.java:159) 
E/AndroidRuntime(19669): at net.simonvt.menudrawer.OverlayDrawer.<init>(OverlayDrawer.java:38) 
E/AndroidRuntime(19669): at net.simonvt.menudrawer.MenuDrawer.createMenuDrawer(MenuDrawer.java:485) 
E/AndroidRuntime(19669): at net.simonvt.menudrawer.MenuDrawer.attach(MenuDrawer.java:456) 
E/AndroidRuntime(19669): at abc.com.abc.BaseActivity.openMenuDrawer(BaseActivity.java:760) 
E/AndroidRuntime(19669): at abc.com.abc.activity.HomeActivity.onCreate(HomeActivity.java:125) 
E/AndroidRuntime(19669): at android.app.Activity.performCreate(Activity.java:5541) 
E/AndroidRuntime(19669): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093) 
E/AndroidRuntime(19669): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2368) 
E/AndroidRuntime(19669): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2464) 
E/AndroidRuntime(19669): at android.app.ActivityThread.access$900(ActivityThread.java:172) 
E/AndroidRuntime(19669): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1308) 
E/AndroidRuntime(19669): at android.os.Handler.dispatchMessage(Handler.java:102) 
E/AndroidRuntime(19669): at android.os.Looper.loop(Looper.java:146) 
E/AndroidRuntime(19669): at android.app.ActivityThread.main(ActivityThread.java:5653) 
E/AndroidRuntime(19669): at java.lang.reflect.Method.invokeNative(Native Method) 
E/AndroidRuntime(19669): at java.lang.reflect.Method.invoke(Method.java:515) 
E/AndroidRuntime(19669): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1291) 
E/AndroidRuntime(19669): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1107) 
E/AndroidRuntime(19669): at dalvik.system.NativeStart.main(Native Method) 

Ci-dessous mon fichier build.gradle

Comme je peux voir le menudrawer est inclus explicite, donc il ne me semble pas que ce problème est dû à la version sdk
apply plugin: 'com.android.application' 

android { 

    compileSdkVersion 21 
    buildToolsVersion '21.1.2' 
    packagingOptions { 
     exclude 'META-INF/DEPENDENCIES' 
     exclude 'META-INF/NOTICE' 
     exclude 'META-INF/LICENSE' 
     exclude 'META-INF/LICENSE.txt' 
     exclude 'META-INF/NOTICE.txt' 
     exclude 'META-INF/ASL2.0' 
     exclude 'META-INF/notice.txt' 
     exclude 'META-INF/license.txt' 
    } 
    lintOptions { 
     abortOnError false 
    } 
    repositories { mavenCentral() } 
    defaultConfig { 
     applicationId "abc.com.abc" 
     minSdkVersion 16 
     targetSdkVersion 19 
     versionCode 2 
     versionName "1.1" 
     multiDexEnabled true 

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

    compileOptions { 
    } 
} 
apply plugin: 'com.android.application' 
dependencies { 
    compile fileTree(include: ['*.jar'], dir: 'libs') 
    debugCompile project(path: ':pqr', configuration: 'debug') 
    releaseCompile project(path: ':pqr', configuration: 'release') 
    compile 'com.google.android.gms:play-services:7.8.0' 
    compile 'com.facebook.android:facebook-android-sdk:4.0.0' 
    compile 'com.android.support:support-v4:23.1.1' 
    compile project(':pageindicator') 
    compile 'com.edmodo:rangebar:1.0.0' 
    compile files('libs/crittercism_v4_3_0_sdkonly.jar') 
    compile files('libs/urlimageviewhelper-1.0.4.jar') 
    compile files('libs/CleverTapAndroidSDK-v2.2.0-20160718.jar') 
    compile 'net.simonvt.menudrawer:menudrawer:3.0.6' 
} 

Cela fonctionne très bien sur Android version 5.0 mais une erreur se produit sur 4.4.2. Dois-je changer une configuration? Je suis nouveau sur Android.

Il y a aussi un autre fichier build.gradle de la bibliothèque qui a une version différente sdk, comme ci-dessous:

defaultConfig { 
    minSdkVersion 15 
    targetSdkVersion 22 
} 

Je surfé à travers d'autres liens aussi, mais n'a pas pu trouver une solution adaptée

+0

Ne postez pas vos questions. Si vous souhaitez ajouter/supprimer des informations, utilisez l'option "modifier" dans le coin inférieur gauche de votre message. – Shaishav

+0

J'ai édité. Mais la modification était visible quand on clique sur l'option d'édition. Donc, pour cacher la partie de la config selon votre commentaire plus tôt, j'ai dû supprimer cette question. Y a-t-il une autre option? – userab

+0

Whoa ... alors dans ce cas je suppose que tu as bien fait! Il suffit de noter que la suppression de vos questions peut conduire à une question d'interdiction – Shaishav

Répondre

0

solution suivante a travaillé pour moi:

j'avais mis multiDexEnabled true à build.gradle mais n'a pas overrdied ce qui suit dans ma classe d'application:

protected void attachBaseContext(Context base) { 
super.attachBaseContext(base); 
MultiDex.install(this); 
} 

Faire ce remplacement a fonctionné pour moi. Ainsi, vous pouvez soit utiliser:

public class MyApplication extends MultiDexApplication 

ou vous substituez attachBaseContext.