Ada masalah dengan pustaka appcompat v7 Android pada perangkat Samsung yang menjalankan Android 4.2. Saya terus mogok dengan jejak tumpukan berikut di Konsol Pengembang saya:
java.lang.NoClassDefFoundError: android.support.v7.internal.view.menu.MenuBuilder
at android.support.v7.widget.PopupMenu.<init>(PopupMenu.java:66)
at com.[my-package-name].CustomActivity$5.onClick(CustomActivity.java:215)
at android.view.View.performClick(View.java:4222)
at android.view.View$PerformClick.run(View.java:17620)
at android.os.Handler.handleCallback(Handler.java:800)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5391)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
at dalvik.system.NativeStart.main(Native Method)
Ini adalah baris 215 dari CustomActivity.java:
PopupMenu popup = new PopupMenu(CustomActivity.this, mImageViewMenu);
Tabrakan datang dari berbagai perangkat, tetapi selalu Samsung, dan selalu Android 4.2.
Pencarian web cepat membuat saya percaya bahwa banyak orang memiliki masalah yang sama, beberapa langkah yang saya coba selesaikan adalah:
- Periksa properti proyek Android, pastikan pustaka appcompat ditambahkan dengan benar.
- Periksa properti proyek Java Build Path Order dan Ekspor, pastikan Android Dependencies dan Android Private Libraries dicentang.
- Konfirmasikan kelas termasuk dalam perpustakaan (android.support.v7.internal.view.menu.MenuBuilder).
- Confirm R.java terletak di direktori gen untuk android.support.v7.appcompat.
- Konfirmasi tema AppCompat termasuk dalam aktivitas Manifest.xml.
- Bersihkan dan bangun kembali proyek.
Terlepas dari langkah-langkah ini, dan meskipun bekerja pada semua perangkat lain dan versi Android, laporan kerusakan masih muncul.