Wir haben gerade unsere Anwendung geändert, um die appcompat-v7 support
Bibliothek zu verwenden, um die Support-Aktionsleiste und die Support-Material-Themen zu nutzen. Mit v21.0.0 of appcompat-v7
(und v21.0.0 of support-v4)
, wir sehen jetzt Abstürze in Google Play
und Crashlytics nur von Samsung-Geräten running
Android v4.2.2 . Here is the stack trace from Google Play and the app appears to crash as soon as the
Actionbar` wird angezeigt und / oder ungültig gemacht.
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)
Andere Geräte und Emulatoren unter v4.2.2 weisen dieses Verhalten nicht auf. Nach meinem Verständnis verwenden viele Google Apps bereits diese neue Version von appcompat
, um die Aktionsleiste anzuzeigen. Wenn diese Apps keine Abstürze auf diesen Geräten melden, ist es hilfreich zu wissen, wie dies vermieden / behoben wird.
Ich habe dies als Fehler bei Google gemeldet, aber es wurde mit dem Grund geschlossen, dass es sich um ein Entwicklungsproblem handelt. Obwohl ich damit einverstanden bin, dass dies der Fall sein kann, frage ich mich, ob / wie jemand derzeit in der Lage ist, zu verwenden appcompat-v7 v21.0.0
und keine Abstürze zu bekommen Samsung 4.2.2 devices
.
Update: Es sieht so aus, als würde Google zumindest mögliche Problemumgehungen in Betracht ziehen. Siehe dies für Details.