2014-12-07 182 views
3

我遇到問題時,我啓用multidex。我正在使用Android工作室,我在DrawerLayoutWidget上找到「找不到類」。這裏是設置Android Multidex和支持庫

的build.gradle

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 21 
    buildToolsVersion '21.1.0' 
    defaultConfig { 
     applicationId 'com.myapp' 
     minSdkVersion 14 
     targetSdkVersion 21 
     multiDexEnabled true 

    } 


} 

dependencies { 

    compile 'com.android.support:appcompat-v7:21.+' 
    compile 'com.android.support:support-v4:21.+' 
} 

activity_main.xml中

<android.support.v4.widget.DrawerLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/drawerlayout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 



    <FrameLayout 
     android:id="@+id/frameContainer" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" > 

    </FrameLayout> 

    <ListView 
     android:id="@+id/drawerList" 
     android:layout_width="240dp" 
     android:layout_height="match_parent" 
     android:layout_gravity="start" 
     android:choiceMode="singleChoice" 
     android:divider="@color/drawerListDivider" 
     android:dividerHeight="0dp"   
     android:listSelector="@drawable/drawer_list_selector" 
     android:background="@color/drawerListBackground"/> 
</android.support.v4.widget.DrawerLayout> 

這是我的錯誤目錄下載

12-07 00:41:15.239 4053-4053/com.myapplication W/dalvikvm﹕ VFY: unable to resolve virtual method 503: Landroid/support/v4/widget/ViewDragHelper;.smoothSlideViewTo (Landroid/view/View;II)Z 
12-07 00:41:15.239 4053-4053/com.myapplication D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x0062 
12-07 00:41:15.239 4053-4053/com.myapplication I/dalvikvm﹕ Could not find method android.support.v4.widget.ViewDragHelper.smoothSlideViewTo, referenced from method android.support.v4.widget.DrawerLayout.closeDrawer 
12-07 00:41:15.239 4053-4053/com.myapplication W/dalvikvm﹕ VFY: unable to resolve virtual method 503: Landroid/support/v4/widget/ViewDragHelper;.smoothSlideViewTo (Landroid/view/View;II)Z 
12-07 00:41:15.239 4053-4053/com.myapplication D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x0075 
12-07 00:41:15.239 4053-4053/com.myapplication E/dalvikvm﹕ Could not find class 'android.support.v4.widget.DrawerLayout$LayoutParams', referenced from method android.support.v4.widget.DrawerLayout.closeDrawers 
12-07 00:41:15.239 4053-4053/com.myapplication W/dalvikvm﹕ VFY: unable to resolve check-cast 105 (Landroid/support/v4/widget/DrawerLayout$LayoutParams;) in Landroid/support/v4/widget/DrawerLayout; 
12-07 00:41:15.239 4053-4053/com.myapplication D/dalvikvm﹕ VFY: replacing opcode 0x1f at 0x001c 
12-07 00:41:15.239 4053-4053/com.myapplication I/dalvikvm﹕ Could not find method android.support.v4.widget.DrawerLayout$ViewDragCallback.removeCallbacks, referenced from method android.support.v4.widget.DrawerLayout.closeDrawers 
12-07 00:41:15.239 4053-4053/com.myapplication W/dalvikvm﹕ VFY: unable to resolve virtual method 318: Landroid/support/v4/widget/DrawerLayout$ViewDragCallback;.removeCallbacks()V 
12-07 00:41:15.239 4053-4053/com.myapplication D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x0071 
12-07 00:41:15.239 4053-4053/com.myapplication E/dalvikvm﹕ Could not find class 'android.support.v4.widget.DrawerLayout$LayoutParams', referenced from method android.support.v4.widget.DrawerLayout.computeScroll 
12-07 00:41:15.239 4053-4053/com.myapplication W/dalvikvm﹕ VFY: unable to resolve check-cast 105 (Landroid/support/v4/widget/DrawerLayout$LayoutParams;) in Landroid/support/v4/widget/DrawerLayout; 
12-07 00:41:15.239 4053-4053/com.myapplication D/dalvikvm﹕ VFY: replacing opcode 0x1f at 0x0019 
12-07 00:41:15.239 4053-4053/com.myapplication I/dalvikvm﹕ Could not find method android.support.v4.widget.ViewDragHelper.continueSettling, referenced from method android.support.v4.widget.DrawerLayout.computeScroll 
12-07 00:41:15.239 4053-4053/com.myapplication W/dalvikvm﹕ VFY: unable to resolve virtual method 493: Landroid/support/v4/widget/ViewDragHelper;.continueSettling (Z)Z 
12-07 00:41:15.239 4053-4053/com.myapplication D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x0030 
12-07 00:41:15.239 4053-4053/com.myapplication E/dalvikvm﹕ Could not find class 'android.support.v4.widget.DrawerLayout$LayoutParams', referenced from method android.support.v4.widget.DrawerLayout.dispatchOnDrawerClosed 
12-07 00:41:15.239 4053-4053/com.myapplication W/dalvikvm﹕ VFY: unable to resolve check-cast 105 (Landroid/support/v4/widget/DrawerLayout$LayoutParams;) in Landroid/support/v4/widget/DrawerLayout; 
12-07 00:41:15.239 4053-4053/com.myapplication D/dalvikvm﹕ VFY: replacing opcode 0x1f at 0x0007 
12-07 00:41:15.239 4053-4053/com.myapplication E/dalvikvm﹕ Could not find class 'android.support.v4.widget.DrawerLayout$LayoutParams', referenced from method android.support.v4.widget.DrawerLayout.dispatchOnDrawerOpened 
12-07 00:41:15.239 4053-4053/com.myapplication W/dalvikvm﹕ VFY: unable to resolve check-cast 105 (Landroid/support/v4/widget/DrawerLayout$LayoutParams;) in Landroid/support/v4/widget/DrawerLayout; 
12-07 00:41:15.239 4053-4053/com.myapplication D/dalvikvm﹕ VFY: replacing opcode 0x1f at 0x0007 
12-07 00:41:15.249 4053-4053/com.myapplication I/dalvikvm﹕ Could not find method android.support.v4.widget.ViewDragHelper.getEdgeSize, referenced from method android.support.v4.widget.DrawerLayout.drawChild 
12-07 00:41:15.249 4053-4053/com.myapplication W/dalvikvm﹕ VFY: unable to resolve virtual method 496: Landroid/support/v4/widget/ViewDragHelper;.getEdgeSize()I 
12-07 00:41:15.249 4053-4053/com.myapplication D/dalvikvm﹕ VFY: replacing opcode 0x74 at 0x01a9 
12-07 00:41:15.249 4053-4053/com.myapplication I/dalvikvm﹕ Could not find method android.support.v4.widget.ViewDragHelper.getEdgeSize, referenced from method android.support.v4.widget.DrawerLayout.drawChild 
12-07 00:41:15.249 4053-4053/com.myapplication W/dalvikvm﹕ VFY: unable to resolve virtual method 496: Landroid/support/v4/widget/ViewDragHelper;.getEdgeSize()I 
12-07 00:41:15.249 4053-4053/com.myapplication D/dalvikvm﹕ VFY: replacing opcode 0x74 at 0x0251 
12-07 00:41:15.249 4053-4053/com.myapplication E/dalvikvm﹕ Could not find class 'android.support.v4.widget.DrawerLayout$LayoutParams', referenced from method android.support.v4.widget.DrawerLayout.findOpenDrawer 
12-07 00:41:15.249 4053-4053/com.myapplication W/dalvikvm﹕ VFY: unable to resolve check-cast 105 (Landroid/support/v4/widget/DrawerLayout$LayoutParams;) in Landroid/support/v4/widget/DrawerLayout; 
12-07 00:41:15.249 4053-4053/com.myapplication D/dalvikvm﹕ VFY: replacing opcode 0x1f at 0x0019 
12-07 00:41:15.249 4053-4053/com.myapplication E/dalvikvm﹕ Could not find class 'android.support.v4.widget.DrawerLayout$LayoutParams', referenced from method android.support.v4.widget.DrawerLayout.generateDefaultLayoutParams 
12-07 00:41:15.249 4053-4053/com.myapplication W/dalvikvm﹕ VFY: unable to resolve new-instance 105 (Landroid/support/v4/widget/DrawerLayout$LayoutParams;) in Landroid/support/v4/widget/DrawerLayout; 
12-07 00:41:15.249 4053-4053/com.myapplication D/dalvikvm﹕ VFY: replacing opcode 0x22 at 0x0001 
12-07 00:41:15.249 4053-4053/com.myapplication E/dalvikvm﹕ Could not find class 'android.support.v4.widget.DrawerLayout$LayoutParams', referenced from method android.support.v4.widget.DrawerLayout.generateLayoutParams 
12-07 00:41:15.249 4053-4053/com.myapplication W/dalvikvm﹕ VFY: unable to resolve new-instance 105 (Landroid/support/v4/widget/DrawerLayout$LayoutParams;) in Landroid/support/v4/widget/DrawerLayout; 
12-07 00:41:15.249 4053-4053/com.myapplication D/dalvikvm﹕ VFY: replacing opcode 0x22 at 0x0002 
12-07 00:41:15.249 4053-4053/com.myapplication E/dalvikvm﹕ Could not find class 'android.support.v4.widget.DrawerLayout$LayoutParams', referenced from method android.support.v4.widget.DrawerLayout.generateLayoutParams 
12-07 00:41:15.249 4053-4053/com.myapplication W/dalvikvm﹕ VFY: unable to resolve instanceof 105 (Landroid/support/v4/widget/DrawerLayout$LayoutParams;) in Landroid/support/v4/widget/DrawerLayout; 
12-07 00:41:15.249 4053-4053/com.myapplication D/dalvikvm﹕ VFY: replacing opcode 0x20 at 0x0003 
12-07 00:41:15.249 4053-4053/com.myapplication E/dalvikvm﹕ Could not find class 'android.support.v4.widget.DrawerLayout$LayoutParams', referenced from method android.support.v4.widget.DrawerLayout.getDrawerViewAbsoluteGravity 
12-07 00:41:15.249 4053-4053/com.myapplication W/dalvikvm﹕ VFY: unable to resolve check-cast 105 (Landroid/support/v4/widget/DrawerLayout$LayoutParams;) in Landroid/support/v4/widget/DrawerLayout; 
12-07 00:41:15.249 4053-4053/com.myapplication D/dalvikvm﹕ VFY: replacing opcode 0x1f at 0x0007 
12-07 00:41:15.259 4053-4053/com.myapplication E/dalvikvm﹕ Could not find class 'android.support.v4.widget.DrawerLayout$LayoutParams', referenced from method android.support.v4.widget.DrawerLayout.getDrawerViewOffset 
12-07 00:41:15.259 4053-4053/com.myapplication W/dalvikvm﹕ VFY: unable to resolve check-cast 105 (Landroid/support/v4/widget/DrawerLayout$LayoutParams;) in Landroid/support/v4/widget/DrawerLayout; 
12-07 00:41:15.259 4053-4053/com.myapplication D/dalvikvm﹕ VFY: replacing opcode 0x1f at 0x0007 
12-07 00:41:15.259 4053-4053/com.myapplication E/dalvikvm﹕ Could not find class 'android.support.v4.widget.DrawerLayout$LayoutParams', referenced from method android.support.v4.widget.DrawerLayout.isContentView 
12-07 00:41:15.259 4053-4053/com.myapplication W/dalvikvm﹕ VFY: unable to resolve check-cast 105 (Landroid/support/v4/widget/DrawerLayout$LayoutParams;) in Landroid/support/v4/widget/DrawerLayout; 
12-07 00:41:15.259 4053-4053/com.myapplication D/dalvikvm﹕ VFY: replacing opcode 0x1f at 0x0007 
12-07 00:41:15.259 4053-4053/com.myapplication E/dalvikvm﹕ Could not find class 'android.support.v4.widget.DrawerLayout$LayoutParams', referenced from method android.support.v4.widget.DrawerLayout.isDrawerOpen 
12-07 00:41:15.259 4053-4053/com.myapplication W/dalvikvm﹕ VFY: unable to resolve check-cast 105 (Landroid/support/v4/widget/DrawerLayout$LayoutParams;) in Landroid/support/v4/widget/DrawerLayout; 
12-07 00:41:15.259 4053-4053/com.myapplication D/dalvikvm﹕ VFY: replacing opcode 0x1f at 0x0035 
12-07 00:41:15.259 4053-4053/com.myapplication E/dalvikvm﹕ Could not find class 'android.support.v4.widget.DrawerLayout$LayoutParams', referenced from method android.support.v4.widget.DrawerLayout.isDrawerView 
12-07 00:41:15.259 4053-4053/com.myapplication W/dalvikvm﹕ VFY: unable to resolve check-cast 105 (Landroid/support/v4/widget/DrawerLayout$LayoutParams;) in Landroid/support/v4/widget/DrawerLayout; 
12-07 00:41:15.259 4053-4053/com.myapplication D/dalvikvm﹕ VFY: replacing opcode 0x1f at 0x0007 
12-07 00:41:15.259 4053-4053/com.myapplication E/dalvikvm﹕ Could not find class 'android.support.v4.widget.DrawerLayout$LayoutParams', referenced from method android.support.v4.widget.DrawerLayout.isDrawerVisible 
12-07 00:41:15.259 4053-4053/com.myapplication W/dalvikvm﹕ VFY: unable to resolve check-cast 105 (Landroid/support/v4/widget/DrawerLayout$LayoutParams;) in Landroid/support/v4/widget/DrawerLayout; 
12-07 00:41:15.259 4053-4053/com.myapplication D/dalvikvm﹕ VFY: replacing opcode 0x1f at 0x0035 
12-07 00:41:15.259 4053-4053/com.myapplication I/dalvikvm﹕ Could not find method android.support.v4.widget.DrawerLayout$DrawerLayoutCompatImpl.getTopInset, referenced from method android.support.v4.widget.DrawerLayout.onDraw 
12-07 00:41:15.259 4053-4053/com.myapplication W/dalvikvm﹕ VFY: unable to resolve interface method 303: Landroid/support/v4/widget/DrawerLayout$DrawerLayoutCompatImpl;.getTopInset (Ljava/lang/Object;)I 
12-07 00:41:15.259 4053-4053/com.myapplication D/dalvikvm﹕ VFY: replacing opcode 0x72 at 0x0016 
12-07 00:41:15.259 4053-4053/com.myapplication I/dalvikvm﹕ Could not find method android.support.v4.view.MotionEventCompat.getActionMasked, referenced from method android.support.v4.widget.DrawerLayout.onInterceptTouchEvent 
12-07 00:41:15.259 4053-4053/com.myapplication W/dalvikvm﹕ VFY: unable to resolve static method 130: Landroid/support/v4/view/MotionEventCompat;.getActionMasked (Landroid/view/MotionEvent;)I 
12-07 00:41:15.259 4053-4053/com.myapplication D/dalvikvm﹕ VFY: replacing opcode 0x71 at 0x0003 
12-07 00:41:15.259 4053-4053/com.myapplication I/dalvikvm﹕ Could not find method android.support.v4.view.KeyEventCompat.startTracking, referenced from method android.support.v4.widget.DrawerLayout.onKeyDown 
12-07 00:41:15.259 4053-4053/com.myapplication W/dalvikvm﹕ VFY: unable to resolve static method 126: Landroid/support/v4/view/KeyEventCompat;.startTracking (Landroid/view/KeyEvent;)V 
12-07 00:41:15.259 4053-4053/com.myapplication D/dalvikvm﹕ VFY: replacing opcode 0x71 at 0x000f 
12-07 00:41:15.259 4053-4053/com.myapplication E/dalvikvm﹕ Could not find class 'android.support.v4.widget.DrawerLayout$LayoutParams', referenced from method android.support.v4.widget.DrawerLayout.onLayout 
12-07 00:41:15.259 4053-4053/com.myapplication W/dalvikvm﹕ VFY: unable to resolve check-cast 105 (Landroid/support/v4/widget/DrawerLayout$LayoutParams;) in Landroid/support/v4/widget/DrawerLayout; 
12-07 00:41:15.259 4053-4053/com.myapplication D/dalvikvm﹕ VFY: replacing opcode 0x1f at 0x0055 
12-07 00:41:15.269 4053-4053/com.myapplication E/dalvikvm﹕ Could not find class 'android.support.v4.widget.DrawerLayout$LayoutParams', referenced from method android.support.v4.widget.DrawerLayout.onMeasure 
12-07 00:41:15.269 4053-4053/com.myapplication W/dalvikvm﹕ VFY: unable to resolve check-cast 105 (Landroid/support/v4/widget/DrawerLayout$LayoutParams;) in Landroid/support/v4/widget/DrawerLayout; 
12-07 00:41:15.269 4053-4053/com.myapplication D/dalvikvm﹕ VFY: replacing opcode 0x1f at 0x00eb 
12-07 00:41:15.279 4053-4053/com.myapplication E/dalvikvm﹕ Could not find class 'android.support.v4.widget.DrawerLayout$SavedState', referenced from method android.support.v4.widget.DrawerLayout.onRestoreInstanceState 
12-07 00:41:15.279 4053-4053/com.myapplication W/dalvikvm﹕ VFY: unable to resolve check-cast 107 (Landroid/support/v4/widget/DrawerLayout$SavedState;) in Landroid/support/v4/widget/DrawerLayout; 
12-07 00:41:15.279 4053-4053/com.myapplication D/dalvikvm﹕ VFY: replacing opcode 0x1f at 0x0003 
12-07 00:41:15.279 4053-4053/com.myapplication E/dalvikvm﹕ Could not find class 'android.support.v4.widget.DrawerLayout$SavedState', referenced from method android.support.v4.widget.DrawerLayout.onSaveInstanceState 
12-07 00:41:15.279 4053-4053/com.myapplication W/dalvikvm﹕ VFY: unable to resolve new-instance 107 (Landroid/support/v4/widget/DrawerLayout$SavedState;) in Landroid/support/v4/widget/DrawerLayout; 
12-07 00:41:15.279 4053-4053/com.myapplication D/dalvikvm﹕ VFY: replacing opcode 0x22 at 0x0007 
12-07 00:41:15.279 4053-4053/com.myapplication I/dalvikvm﹕ Could not find method android.support.v4.widget.ViewDragHelper.processTouchEvent, referenced from method android.support.v4.widget.DrawerLayout.onTouchEvent 
12-07 00:41:15.279 4053-4053/com.myapplication W/dalvikvm﹕ VFY: unable to resolve virtual method 499: Landroid/support/v4/widget/ViewDragHelper;.processTouchEvent (Landroid/view/MotionEvent;)V 
12-07 00:41:15.279 4053-4053/com.myapplication D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x0007 
12-07 00:41:15.289 4053-4053/com.myapplication E/dalvikvm﹕ Could not find class 'android.support.v4.widget.DrawerLayout$LayoutParams', referenced from method android.support.v4.widget.DrawerLayout.openDrawer 
12-07 00:41:15.289 4053-4053/com.myapplication W/dalvikvm﹕ VFY: unable to resolve check-cast 105 (Landroid/support/v4/widget/DrawerLayout$LayoutParams;) in Landroid/support/v4/widget/DrawerLayout; 
12-07 00:41:15.289 4053-4053/com.myapplication D/dalvikvm﹕ VFY: replacing opcode 0x1f at 0x003a 
12-07 00:41:15.289 4053-4053/com.myapplication I/dalvikvm﹕ Could not find method android.support.v4.widget.ViewDragHelper.smoothSlideViewTo, referenced from method android.support.v4.widget.DrawerLayout.openDrawer 
12-07 00:41:15.289 4053-4053/com.myapplication W/dalvikvm﹕ VFY: unable to resolve virtual method 503: Landroid/support/v4/widget/ViewDragHelper;.smoothSlideViewTo (Landroid/view/View;II)Z 
12-07 00:41:15.289 4053-4053/com.myapplication D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x0064 
12-07 00:41:15.289 4053-4053/com.myapplication I/dalvikvm﹕ Could not find method android.support.v4.widget.ViewDragHelper.smoothSlideViewTo, referenced from method android.support.v4.widget.DrawerLayout.openDrawer 
12-07 00:41:15.289 4053-4053/com.myapplication W/dalvikvm﹕ VFY: unable to resolve virtual method 503: Landroid/support/v4/widget/ViewDragHelper;.smoothSlideViewTo (Landroid/view/View;II)Z 
12-07 00:41:15.289 4053-4053/com.myapplication D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x007d 
12-07 00:41:15.289 4053-4053/com.myapplication I/dalvikvm﹕ Could not find method android.support.v4.widget.ViewDragHelper.cancel, referenced from method android.support.v4.widget.DrawerLayout.setDrawerLockMode 
12-07 00:41:15.289 4053-4053/com.myapplication W/dalvikvm﹕ VFY: unable to resolve virtual method 491: Landroid/support/v4/widget/ViewDragHelper;.cancel()V 
12-07 00:41:15.289 4053-4053/com.myapplication D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x0022 
12-07 00:41:15.289 4053-4053/com.myapplication E/dalvikvm﹕ Could not find class 'android.support.v4.widget.DrawerLayout$LayoutParams', referenced from method android.support.v4.widget.DrawerLayout.setDrawerLockMode 
12-07 00:41:15.289 4053-4053/com.myapplication W/dalvikvm﹕ VFY: unable to resolve check-cast 105 (Landroid/support/v4/widget/DrawerLayout$LayoutParams;) in Landroid/support/v4/widget/DrawerLayout; 
12-07 00:41:15.289 4053-4053/com.myapplication D/dalvikvm﹕ VFY: replacing opcode 0x1f at 0x003c 
12-07 00:41:15.299 4053-4053/com.myapplication E/dalvikvm﹕ Could not find class 'android.support.v4.widget.DrawerLayout$LayoutParams', referenced from method android.support.v4.widget.DrawerLayout.setDrawerViewOffset 
12-07 00:41:15.299 4053-4053/com.myapplication W/dalvikvm﹕ VFY: unable to resolve check-cast 105 (Landroid/support/v4/widget/DrawerLayout$LayoutParams;) in Landroid/support/v4/widget/DrawerLayout; 
12-07 00:41:15.299 4053-4053/com.myapplication D/dalvikvm﹕ VFY: replacing opcode 0x1f at 0x0008 
12-07 00:41:15.299 4053-4053/com.myapplication I/dalvikvm﹕ Could not find method android.support.v4.content.ContextCompat.getDrawable, referenced from method android.support.v4.widget.DrawerLayout.setStatusBarBackground 
12-07 00:41:15.299 4053-4053/com.myapplication W/dalvikvm﹕ VFY: unable to resolve static method 113: Landroid/support/v4/content/ContextCompat;.getDrawable (Landroid/content/Context;I)Landroid/graphics/drawable/Drawable; 
12-07 00:41:15.299 4053-4053/com.myapplication D/dalvikvm﹕ VFY: replacing opcode 0x71 at 0x000c 
12-07 00:41:15.299 4053-4053/com.myapplication I/dalvikvm﹕ Could not find method android.support.v4.widget.ViewDragHelper.getViewDragState, referenced from method android.support.v4.widget.DrawerLayout.updateDrawerState 
12-07 00:41:15.299 4053-4053/com.myapplication W/dalvikvm﹕ VFY: unable to resolve virtual method 498: Landroid/support/v4/widget/ViewDragHelper;.getViewDragState()I 
12-07 00:41:15.299 4053-4053/com.myapplication D/dalvikvm﹕ VFY: replacing opcode 0x6e at 0x0007 
12-07 00:41:15.299 4053-4053/com.myapplication D/dalvikvm﹕ DexOpt: unable to opt direct call 0x0130 at 0x24 in Landroid/support/v4/widget/DrawerLayout;.<clinit> 
12-07 00:41:15.299 4053-4053/com.myapplication D/dalvikvm﹕ DexOpt: unable to opt direct call 0x0131 at 0x31 in Landroid/support/v4/widget/DrawerLayout;.<clinit> 
12-07 00:41:15.299 4053-4053/com.myapplication D/dalvikvm﹕ DexOpt: unable to opt direct call 0x012b at 0x12 in Landroid/support/v4/widget/DrawerLayout;.<init> 
12-07 00:41:15.309 4053-4053/com.myapplication D/dalvikvm﹕ DexOpt: unable to opt direct call 0x013d at 0x55 in Landroid/support/v4/widget/DrawerLayout;.<init> 
12-07 00:41:15.309 4053-4053/com.myapplication D/dalvikvm﹕ DexOpt: unable to opt direct call 0x013d at 0x62 in Landroid/support/v4/widget/DrawerLayout;.<init> 
12-07 00:41:15.309 4053-4053/com.myapplication D/dalvikvm﹕ DexOpt: unable to opt direct call 0x012a at 0xc0 in Landroid/support/v4/widget/DrawerLayout;.<init> 
12-07 00:41:15.359 4053-4053/com.myapplication I/dalvikvm﹕ DexOpt: unable to optimize instance field ref 0x0030 at 0x10 in Landroid/support/v4/widget/DrawerLayout;.onRestoreInstanceState 
12-07 00:41:15.359 4053-4053/com.myapplication I/dalvikvm﹕ DexOpt: unable to optimize instance field ref 0x0030 at 0x16 in Landroid/support/v4/widget/DrawerLayout;.onRestoreInstanceState 
12-07 00:41:15.359 4053-4053/com.myapplication I/dalvikvm﹕ DexOpt: unable to optimize instance field ref 0x002e at 0x27 in Landroid/support/v4/widget/DrawerLayout;.onRestoreInstanceState 
12-07 00:41:15.359 4053-4053/com.myapplication I/dalvikvm﹕ DexOpt: unable to optimize instance field ref 0x002f at 0x2f in Landroid/support/v4/widget/DrawerLayout;.onRestoreInstanceState 
12-07 00:41:15.369 4053-4053/com.myapplication D/dalvikvm﹕ DexOpt: unable to opt direct call 0x013b at 0x0d in Landroid/support/v4/widget/DrawerLayout;.onSaveInstanceState 
12-07 00:41:15.369 4053-4053/com.myapplication I/dalvikvm﹕ DexOpt: unable to optimize instance field ref 0x0025 at 0x22 in Landroid/support/v4/widget/DrawerLayout;.onSaveInstanceState 
12-07 00:41:15.369 4053-4053/com.myapplication I/dalvikvm﹕ DexOpt: unable to optimize instance field ref 0x0030 at 0x24 in Landroid/support/v4/widget/DrawerLayout;.onSaveInstanceState 
12-07 00:41:15.369 4053-4053/com.myapplication I/dalvikvm﹕ DexOpt: unable to optimize instance field ref 0x002e at 0x2a in Landroid/support/v4/widget/DrawerLayout;.onSaveInstanceState 
12-07 00:41:15.369 4053-4053/com.myapplication I/dalvikvm﹕ DexOpt: unable to optimize instance field ref 0x002f at 0x30 in Landroid/support/v4/widget/DrawerLayout;.onSaveInstanceState 
12-07 00:41:15.379 4053-4053/com.myapplication I/dalvikvm﹕ DexOpt: unable to optimize instance field ref 0x002a at 0x40 in Landroid/support/v4/widget/DrawerLayout;.openDrawer 
12-07 00:41:15.379 4053-4053/com.myapplication I/dalvikvm﹕ DexOpt: unable to optimize instance field ref 0x0028 at 0x44 in Landroid/support/v4/widget/DrawerLayout;.openDrawer 
12-07 00:41:15.379 4053-4053/com.myapplication I/dalvikvm﹕ DexOpt: unable to optimize instance field ref 0x0025 at 0x3e in Landroid/support/v4/widget/DrawerLayout;.setDrawerLockMode 
12-07 00:41:15.379 4053-4053/com.myapplication I/dalvikvm﹕ DexOpt: unable to optimize instance field ref 0x002a at 0x0d in Landroid/support/v4/widget/DrawerLayout;.setDrawerViewOffset 
12-07 00:41:15.379 4053-4053/com.myapplication I/dalvikvm﹕ DexOpt: unable to optimize instance field ref 0x002a at 0x16 in Landroid/support/v4/widget/DrawerLayout;.setDrawerViewOffset 
12-07 00:41:15.379 4053-4053/com.myapplication I/dalvikvm﹕ DexOpt: unable to optimize instance field ref 0x002a at 0x2d in Landroid/support/v4/widget/DrawerLayout;.updateDrawerState 
12-07 00:41:15.379 4053-4053/com.myapplication I/dalvikvm﹕ DexOpt: unable to optimize instance field ref 0x002a at 0x5f in Landroid/support/v4/widget/DrawerLayout;.updateDrawerState 
12-07 00:41:15.379 4053-4053/com.myapplication W/dalvikvm﹕ Exception Ljava/lang/NoClassDefFoundError; thrown while initializing Landroid/support/v4/widget/DrawerLayout; 
12-07 00:41:15.379 4053-4053/com.myapplication W/dalvikvm﹕ Class init failed in Constructor.constructNative (Landroid/support/v4/widget/DrawerLayout;) 
12-07 00:41:15.379 4053-4053/com.myapplication D/AndroidRuntime﹕ Shutting down VM 
12-07 00:41:15.379 4053-4053/com.myapplication W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0x41e7ac68) 
12-07 00:41:15.379 4053-4053/com.myapplication E/AndroidRuntime﹕ FATAL EXCEPTION: main 
Process: com.myapplication, PID: 4053 
java.lang.NoClassDefFoundError: android.support.v4.widget.DrawerLayout$DrawerLayoutCompatImplBase 
     at android.support.v4.widget.DrawerLayout.<clinit>(DrawerLayout.java:307) 
     at java.lang.reflect.Constructor.constructNative(Native Method) 
     at java.lang.reflect.Constructor.newInstance(Constructor.java:423) 
     at android.view.LayoutInflater.createView(LayoutInflater.java:594) 
     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:696) 
     at android.view.LayoutInflater.inflate(LayoutInflater.java:469) 
     at android.view.LayoutInflater.inflate(LayoutInflater.java:397) 
     at android.view.LayoutInflater.inflate(LayoutInflater.java:353) 
     at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:343) 
     at android.app.Activity.setContentView(Activity.java:1929) 
     at com.myapplication.MainActivity.onCreate(MainActivity.java:58) 
     at android.app.Activity.performCreate(Activity.java:5231) 
     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2169) 
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2265) 
     at android.app.ActivityThread.access$800(ActivityThread.java:145) 
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1206) 
     at android.os.Handler.dispatchMessage(Handler.java:102) 
     at android.os.Looper.loop(Looper.java:136) 
     at android.app.ActivityThread.main(ActivityThread.java:5081) 
     at java.lang.reflect.Method.invokeNative(Native Method) 
     at java.lang.reflect.Method.invoke(Method.java:515) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:781) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
     at dalvik.system.NativeStart.main(Native Method) 

我與各種編譯工具嘗試版本和支持版本。但我無法修復這個錯誤。但是,如果我改變multiDeskEnabled錯誤,那麼一切工作正常。因此,使用multiDeskEnabled相同的依賴關係不起作用。

當我搜索解決方案時,我發現了一些建議,以保持更改與Eclipse相關的構建順序等。但我找不到任何Android解決方案。任何人都可以幫助我擺脫這個問題嗎?

回答

12

您錯過了使設備在< 5.0設備上工作所需的額外數量。

  1. 你需要這個在您的gradle這個依賴關係:compile 'com.android.support:multidex:1.0.0'
  2. 您需要在您的自定義應用程序類清單中的應用程序更改爲multidex應用程序,或覆蓋attachBaseContext()super.attachBaseContext(base);
之後調用 MutiDex.install(this)

您可以在這裏看到完整的文檔(可能自從發佈此更新以來)https://developer.android.com/tools/building/multidex.html#mdex-gradle。請參閱「使用Gradle爲Multidex配置您的應用程序」部分。