Ми просто змінили наш додаток на використання appcompat-v7 support
бібліотеки, щоб скористатися перевагами панелі дій підтримки та підтримкою матеріалів. Використовуючи v21.0.0 of appcompat-v7
(і v21.0.0 of support-v4)
, зараз ми спостерігаємо збої в роботі Google Play
та Crashlytics лише з пристроїв Samsung, running
панель . Here is the stack trace from Google Play and the app appears to crash as soon as the
дій Android v4.2.2 відображається та / або недійсною.
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)
Інші пристрої та емулятори, що працюють v4.2.2, не демонструють такої поведінки. Я розумію, що багато програм Google вже використовують цю нову версію appcompat
для відображення панелі дій. Якщо ці програми не повідомляють про збої на цих пристроях, було б корисно знати, як цього уникнути / виправити.
Я повідомив про це про помилку в Google, але її закрили з тієї причини, що це проблема розробки. Незважаючи на те, що я згоден, це може бути так, мені цікаво, чи / як хтось в даний час може використовувати appcompat-v7 v21.0.0
і не отримувати збої Samsung 4.2.2 devices
.
Оновлення: Схоже, Google принаймні розглядає можливі способи вирішення цього питання. Дивіться це для деталей.