Właśnie zmieniliśmy naszą aplikację, aby korzystała z appcompat-v7 support
biblioteki, aby skorzystać z paska akcji wsparcia i obsługiwać motywy Material. Używając v21.0.0 of appcompat-v7
(i v21.0.0 of support-v4)
, teraz widzimy awarie w Google Play
i Crashlytics tylko z urządzeń Samsung running
Android v4.2.2 . Here is the stack trace from Google Play and the app appears to crash as soon as the
actionbar) jest wyświetlany i / lub unieważniany.
java.lang.NoClassDefFoundError: android.support.v7.internal.view.menu.MenuBuilder
at android.support.v7.app.ActionBarActivityDelegateBase.initializePanelMenu(ActionBarActivityDelegateBase.java:991)
at android.support.v7.app.ActionBarActivityDelegateBase.preparePanel(ActionBarActivityDelegateBase.java:1041)
at android.support.v7.app.ActionBarActivityDelegateBase.doInvalidatePanelMenu(ActionBarActivityDelegateBase.java:1259)
at android.support.v7.app.ActionBarActivityDelegateBase.access$100(ActionBarActivityDelegateBase.java:80)
at android.support.v7.app.ActionBarActivityDelegateBase$1.run(ActionBarActivityDelegateBase.java:116)
at android.os.Handler.handleCallback(Handler.java:725)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:176)
at android.app.ActivityThread.main(ActivityThread.java:5299)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
at dalvik.system.NativeStart.main(Native Method)
Inne urządzenia i emulatory działające w wersji 4.2.2 nie wykazują tego zachowania. Rozumiem, że wiele aplikacji Google używa już tej nowej wersji programu appcompat
do wyświetlania paska akcji. Jeśli te aplikacje nie zgłaszają awarii na tych urządzeniach, warto wiedzieć, w jaki sposób można tego uniknąć / naprawić.
Zgłosiłem to jako błąd do Google, ale został zamknięty z tego powodu, że jest to problem programistyczny. Chociaż zgadzam się, że może tak być, zastanawiam się, czy / jak ktokolwiek może obecnie używać appcompat-v7 v21.0.0
i nie ma awarii Samsung 4.2.2 devices
.
Aktualizacja: wygląda na to, że Google przynajmniej rozważa możliwe obejścia tego problemu. Zobacz to, aby uzyskać szczegółowe informacje.