Chúng tôi vừa thay đổi ứng dụng của mình để sử dụng appcompat-v7 support
thư viện nhằm tận dụng thanh tác vụ hỗ trợ và hỗ trợ các chủ đề Material. Khi sử dụng v21.0.0 of appcompat-v7
(và v21.0.0 of support-v4)
, chúng tôi hiện đang thấy sự cố Google Play
và thanh tác vụ Crashlytics chỉ từ thiết bị Samsung running
Android . Here is the stack trace from Google Play and the app appears to crash as soon as the
v4.2.2` được hiển thị và / hoặc bị vô hiệu.
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)
Các thiết bị và trình giả lập khác chạy v4.2.2 không có hành vi này. Tôi hiểu rằng nhiều ứng dụng của Google đã sử dụng phiên bản mới này của appcompat
để hiển thị thanh tác vụ. Nếu các ứng dụng này không báo cáo sự cố trên các thiết bị này, sẽ rất hữu ích nếu bạn biết cách tránh / khắc phục lỗi này.
Tôi đã báo cáo đây là một lỗi cho Google nhưng nó đã bị đóng lại với lý do đây là vấn đề phát triển. Mặc dù tôi đồng ý rằng đây có thể là trường hợp, tôi đang tự hỏi liệu / làm thế nào có ai đó hiện có thể sử dụng appcompat-v7 v21.0.0
và không gặp sự cố Samsung 4.2.2 devices
.
Cập nhật: Có vẻ như Google ít nhất đang xem xét các giải pháp thay thế có thể cho việc này. Xem điều này để biết chi tiết.