हमने appcompat-v7 supportसमर्थन एक्शनबार और सामग्री विषयों का समर्थन करने के लिए पुस्तकालय का उपयोग करने के लिए हमारे आवेदन को बदल दिया है । का उपयोग करते हुए v21.0.0 of appcompat-v7(और v21.0.0 of support-v4), अब हम में दुर्घटनाओं को देख रहे हैं Google Playकेवल सैमसंग उपकरणों से और Crashlytics runningएंड्रॉयड v4.2.2 . Here is the stack trace from Google Play and the app appears to crash as soon as theactionbar` दिखाए और / या अवैध है।
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 इसके लिए कम से कम संभव कार्यदलों पर विचार कर रहा है। देखें इस जानकारी के लिए।