2015-07-06 20 views
6

Đây là nhật ký.java.lang.NoClassDefFoundError: android.support.v7.app.AppCompatDelegateImplV14 trong Android Studio

java.lang.NoClassDefFoundError: android.support.v7.app.AppCompatDelegateImplV14 
     at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:93) 
     at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:77) 
     at android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:429) 
     at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:57) 
     at com.marshall.gruppo.ui.MainScreenActivity.onCreate(MainScreenActivity.java:41) 
     at android.app.Activity.performCreate(Activity.java:5451) 
     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093) 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2377) 
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2471) 
     at android.app.ActivityThread.access$900(ActivityThread.java:175) 
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1308) 
     at android.os.Handler.dispatchMessage(Handler.java:102) 
     at android.os.Looper.loop(Looper.java:146) 
     at android.app.ActivityThread.main(ActivityThread.java:5602) 
     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:1283) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099) 
     at dalvik.system.NativeStart.main(Native Method) 

Tôi cũng đọc một bài viết đề xuất giải pháp (java.lang.NoClassDefFoundError: android.support.v7.app.AppCompatDelegateImplV14). Nó gợi ý tôi thêm những điều sau vào tệp build.gradle.

compile 'com.android.support:appcompat-v7:22.2.0' 

Thực tế đã có trong tệp và có vẻ như đây không phải là vấn đề ban đầu ở đây. Đây là tệp build.gradle của tôi.

dependencies { 
compile fileTree(dir: 'libs', include: ['*.jar']) 
compile 'com.android.support:appcompat-v7:22.2.0' 
compile project(':volley') 
compile project(':android-support-v4') 
} 

Trong trường hợp bạn cần xem mã của tôi, đây là mã của tôi gây ra lỗi NoClassDefFoundError.

public class MainScreenActivity extends AppCompatActivity { 
private DrawerLayout mDrawerLayout; 
private ListView mDrawerList; 
private ActionBarDrawerToggle mDrawerToggle; 

private CharSequence mDrawerTitle; 

private CharSequence mTitle; 

private String[] navMenuTitles; 
private TypedArray navMenuIcons; 

private ArrayList<NavDrawerItem> navDrawerItems; 
private NavDrawerListAdapter adapter; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_mainscreen); 

    mTitle = mDrawerTitle = getTitle(); 

    navMenuTitles = getResources().getStringArray(R.array.drawermenu_items); 

    navMenuIcons = getResources() 
      .obtainTypedArray(R.array.drawermenu_icons); 

    mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); 
    mDrawerList = (ListView) findViewById(R.id.list_slidermenu); 

    navDrawerItems = new ArrayList<NavDrawerItem>(); 

    navDrawerItems.add(new NavDrawerItem(navMenuTitles[0], navMenuIcons.getResourceId(0, -1))); 
    navDrawerItems.add(new NavDrawerItem(navMenuTitles[1], navMenuIcons.getResourceId(1, -1))); 
    navDrawerItems.add(new NavDrawerItem(navMenuTitles[2], navMenuIcons.getResourceId(2, -1))); 
    navDrawerItems.add(new NavDrawerItem(navMenuTitles[3], navMenuIcons.getResourceId(3, -1), true, "22")); 
    navDrawerItems.add(new NavDrawerItem(navMenuTitles[4], navMenuIcons.getResourceId(4, -1))); 
    navDrawerItems.add(new NavDrawerItem(navMenuTitles[5], navMenuIcons.getResourceId(5, -1), true, "50+")); 


    navMenuIcons.recycle(); 

    mDrawerList.setOnItemClickListener(new SlideMenuClickListener()); 

    adapter = new NavDrawerListAdapter(getApplicationContext(), 
      navDrawerItems); 
    mDrawerList.setAdapter(adapter); 

    getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
    getSupportActionBar().setHomeButtonEnabled(true); 

    mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, R.string.app_name, R.string.app_name) { 
     public void onDrawerClosed(View view) { 
      getSupportActionBar().setTitle(mTitle); 
      invalidateOptionsMenu(); 
     } 

     public void onDrawerOpened(View drawerView) { 
      getSupportActionBar().setTitle(mDrawerTitle); 
      invalidateOptionsMenu(); 
     } 
    }; 
    mDrawerLayout.setDrawerListener(mDrawerToggle); 

    if (savedInstanceState == null) { 
     displayView(0); 
    } 
} 

Đây là nhật ký lỗi bổ sung. Có thể có gợi ý cho giải pháp.

07-06 17:50:03.056 27850-27850/com.marshall.gruppo E/dalvikvm﹕ Could not find class 'android.support.v7.app.AppCompatDelegateImplV14', referenced from method android.support.v7.app.AppCompatDelegate.create 
07-06 17:50:03.056 27850-27850/com.marshall.gruppo E/dalvikvm﹕ Could not find class 'android.support.v7.app.AppCompatDelegateImplV11', referenced from method android.support.v7.app.AppCompatDelegate.create 
07-06 17:50:03.056 27850-27850/com.marshall.gruppo E/dalvikvm﹕ Could not find class 'android.support.v7.app.AppCompatDelegateImplV7', referenced from method android.support.v7.app.AppCompatDelegate.create 

và đây là tệp xml cho hoạt động.

<?xml version="1.0" encoding="UTF-8"?> 
<android.support.v4.widget.DrawerLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/drawer_layout" 
android:layout_width="match_parent" 
android:layout_height="match_parent"> 

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

<ListView 
    android:id="@+id/list_slidermenu" 
    android:layout_width="240dp" 
    android:layout_height="match_parent" 
    android:layout_gravity="start" 
    android:choiceMode="singleChoice" 
    android:divider="@color/list_divider" 
    android:dividerHeight="1dp" 
    android:listSelector="@drawable/list_selector" 
    android:background="@color/list_background"/> 

+0

phòng thu android khởi động lại này và/hoặc làm sạch, biên dịch lại dự án –

+0

@KrupalShah Tôi không nghĩ rằng nó hoạt động. Tôi đã làm những gì bạn nói, và nó tiếp tục nói cùng một thông điệp .. Bất kỳ giải pháp nào khác? – MarshallLee

+0

tại sao bạn sử dụng phụ thuộc tệp jar cho hỗ trợ v4? biên dịch v4 hỗ trợ mới nhất trong build.gradle. –

Trả lời

1

có thể có một cuộc xung đột với sự phụ thuộc của bạn

thử tháo

compile project(':android-support-v4') 
+0

Tôi vừa thử điều đó nhưng cùng một lỗi xảy ra. – MarshallLee

+0

những gì có trong thư mục libs của bạn? – lababo

+0

có các tệp volley.jar và android-support-v4.jar. – MarshallLee

0

tôi đã có lỗi tương tự và HOÀN TOÀN phép multidex làm việc cho tôi. đây là những gì tôi đã làm trong gradle tệp kê khai và

android { 
compileSdkVersion 21 
buildToolsVersion "21.1.0" 

defaultConfig { 
    ... 
    minSdkVersion 14 
    targetSdkVersion 21 
    ... 

    // Enabling multidex support. 
    multiDexEnabled true 
} 
... 
} 

dependencies { 
compile 'com.android.support:multidex:1.0.0' 
} 

cũng trong file manifest của tôi, tôi có thêm lớp MultiDexApplication từ thư viện hỗ trợ multidex đến các yếu tố ứng dụng như

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.android.multidex.myapplication"> 
    <application 
     ... 
     android:name="android.support.multidex.MultiDexApplication"> 
     ... 
    </application> 
</manifest> 
Các vấn đề liên quan