NullPointerException в appcompat-v22 за устройства Eclair

Някой тествал ли е приложението си срещу Android 2.1 след актуализиране до appcompat-v22? Приложението ми работи добре с appcompat-v21 и Android 2.2. Имам дейност в чекмеджето за навигация с лента с инструменти и моя списък с фрагменти като съдържание на моята дейност. Използвам инструменти за изграждане 22.0.1, targetSdkVersion 22 и appcompat-v7:22.0.0

Сривът ми изглежда показва, че квадратче за отметка в списъка ми с фрагменти може да е виновникът, тук беше оригиналният стек:

 Caused by: java.lang.NullPointerException
        at android.graphics.drawable.StateListDrawable.mutate(StateListDrawable.java:241)
        at android.support.v7.internal.widget.TintManager.getDrawable(TintManager.java:140)
        at android.support.v7.internal.widget.TintTypedArray.getDrawable(TintTypedArray.java:62)
        at android.support.v7.internal.widget.TintCheckBox.<init>(TintCheckBox.java:49)
        at android.support.v7.internal.widget.TintCheckBox.<init>(TintCheckBox.java:41)
        at android.support.v7.app.ActionBarActivityDelegateBase.createView(ActionBarActivityDelegateBase.java:790)
        at android.support.v7.app.ActionBarActivity.onCreateView(ActionBarActivity.java:548)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:558)
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:618)
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:621)
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:621)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:407)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
        at com.myapp.myapp.adapter.MyAdapter.getView(MyAdapter.java:79)
        at android.widget.AbsListView.obtainView(AbsListView.java:2818)
        at android.widget.ListView.makeAndAddView(ListView.java:1751)
        at android.widget.ListView.fillSpecific(ListView.java:1283)
        at android.widget.ListView.layoutChildren(ListView.java:1582)
        at android.widget.AbsListView.onLayout(AbsListView.java:2478)
        at android.view.View.layout(View.java:6892)
        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1119)
        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:998)
        at android.widget.LinearLayout.onLayout(LinearLayout.java:918)
        at android.view.View.layout(View.java:6892)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:333)
        at android.view.View.layout(View.java:6892)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:333)
        at android.view.View.layout(View.java:6892)
        at android.support.v4.widget.DrawerLayout.onLayout(DrawerLayout.java:907)
        at android.view.View.layout(View.java:6892)
        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1119)
        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:998)
        at android.widget.LinearLayout.onLayout(LinearLayout.java:918)
        at android.view.View.layout(View.java:6892)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:333)
        at android.view.View.layout(View.java:6892)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:333)
        at android.view.View.layout(View.java:6892)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:333)
        at android.view.View.layout(View.java:6892)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:333)
        at android.view.View.layout(View.java:6892)
        at android.view.ViewRoot.performTraversals(ViewRoot.java:1021)
        at android.view.ViewRoot.handleMessage(ViewRoot.java:1658)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:123)
        at android.app.ActivityThread.main(ActivityThread.java:4363)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:521)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:862)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620)
        at dalvik.system.NativeStart.main(Native Method)

Някой виждал ли е нещо подобно при актуализиране на приложението си до v22? Някой поддържа ли вече Android 2.1?


person tabjsina    schedule 25.03.2015    source източник
comment
Вече никой не поддържа 2.1. Дори 2.2 е .4% от инсталациите според Google Play. Хората се насочват към 2.3 (около 7%) или 4.0 (около 6%, но по-лесно за поддръжка). 3.0 е толкова ниско, че не е начертано. Просто няма финансов смисъл за една компания или смисъл от усилия за любител да прави повече. Можете да видите статистиката на developer.android.com/about/dashboards/index.html   -  person Gabe Sechan    schedule 26.03.2015
comment
Не мога да разбера дали OP троли за Eclair.   -  person Jared Burrows    schedule 26.03.2015
comment
Не бях тролинг, разбирам, че числата са ниски.. Моето приложение е около 0,2%, но просто съм изненадан, че appcompat-v7, който трябва да поддържа обратно към android 2.1, ще се счупи по този начин. От отговорите тук разбирам, че трябва просто да си тръгна :)   -  person tabjsina    schedule 26.03.2015
comment
appcompat-v7 (използвате версия 22.0.0) е предназначен да поддържа Eclair MR1 (API 7, 2.1.x), така че, моля, подайте сигнал за грешка на Проследяване на проблеми с AOSP. Вероятно това е грешка в рамката, предизвикана от изпълнението на съвместимото тониране.   -  person alanv    schedule 26.03.2015
comment
Благодаря за отговора, Алън - създадох нов проблем за това. code.google.com/p/android/issues/detail?id= 161539   -  person tabjsina    schedule 26.03.2015


Отговори (1)


Това е поправено в библиотека за поддръжка 22.1.0 (вижте: https://code.google.com/p/android/issues/detail?id=161539)

person tabjsina    schedule 17.08.2015