android.widok.InflateException: Binary XML file line #12: Error inflating class
Otrzymuję wiele błędów rodzaju wyświetlane w subj. Te błędy wydają się być sporadyczne i nie mogę ich odtworzyć. Ze stosu mogę dowiedzieć się, że taki błąd może wystąpić dla moich różnych zasobów układu. Linia XML jest również różna.
Czy ktoś może wyjaśnić, dlaczego ten błąd występuje? I co mogę zrobić, aby rozwiązać ten problem?
Stos
=============================================================
com.fsp.android.f generated the following exception:
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.fsp.android.f/com.life360.android.ui.tour.TourActivity}: android.view.InflateException: Binary XML file line #12: Error inflating class <unknown>
--------- Stack trace ---------
1. android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2649)
2. android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2674)
3. android.app.ActivityThread.access$2200(ActivityThread.java:131)
4. android.app.ActivityThread$H.handleMessage(ActivityThread.java:1975)
5. android.os.Handler.dispatchMessage(Handler.java:99)
6. android.os.Looper.loop(Looper.java:123)
7. android.app.ActivityThread.main(ActivityThread.java:4702)
8. java.lang.reflect.Method.invokeNative(Native Method)
9. java.lang.reflect.Method.invoke(Method.java:521)
10. com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
11. com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
12. dalvik.system.NativeStart.main(Native Method)
-------------------------------
----------- Cause -----------
android.view.InflateException: Binary XML file line #12: Error inflating class <unknown>
1. android.view.LayoutInflater.createView(LayoutInflater.java:513)
2. com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
3. android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:563)
4. android.view.LayoutInflater.rInflate(LayoutInflater.java:618)
5. android.view.LayoutInflater.rInflate(LayoutInflater.java:621)
6. android.view.LayoutInflater.inflate(LayoutInflater.java:382)
7. android.view.LayoutInflater.inflate(LayoutInflater.java:320)
8. android.view.LayoutInflater.inflate(LayoutInflater.java:276)
9. com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:208)
10. android.app.Activity.setContentView(Activity.java:1629)
11. com.solvek.sample.ui.BaseActivity.onCreate(BaseActivity.java:23)
12. com.solvek.sample.ui.tour.TourActivity.onCreate(TourActivity.java:161)
13. android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
14. android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2587)
15. android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2674)
16. android.app.ActivityThread.access$2200(ActivityThread.java:131)
17. android.app.ActivityThread$H.handleMessage(ActivityThread.java:1975)
18. android.os.Handler.dispatchMessage(Handler.java:99)
19. android.os.Looper.loop(Looper.java:123)
20. android.app.ActivityThread.main(ActivityThread.java:4702)
21. java.lang.reflect.Method.invokeNative(Native Method)
22. java.lang.reflect.Method.invoke(Method.java:521)
23. com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
24. com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
25. dalvik.system.NativeStart.main(Native Method)
-----------------------------
-------- Environment --------
Time =2010-12-20 08:27:35 AM
Device =tmobile/htc_espresso/espresso/espresso:2.1-update1/ERE27/216830:user/release-keys
Make =HTC
Model =T-Mobile myTouch 3G Slide
Product =htc_espresso
App =com.fsp.android.f, version 2.0.9 (build 1232)
Tutaj jest wynikiem XML, jednak taki błąd występuje w innych xmlach
<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android">
<ViewFlipper android:layout_gravity="fill" android:id="@+id/flipper" android:layout_height="fill_parent" android:layout_width="fill_parent">
<ImageView android:scaleType="fitXY" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/tour_1"/>
<ImageView android:scaleType="fitXY" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/tour_2"/>
<ImageView android:scaleType="fitXY" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/tour_3"/>
<ImageView android:scaleType="fitXY" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/tour_4"/>
<ImageView android:scaleType="fitXY" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/tour_5"/>
<ImageView android:scaleType="fitXY" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/tour_6"/>
<ImageView android:scaleType="fitXY" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/tour_7"/>
<ImageView android:scaleType="fitXY" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/tour_8"/>
<ImageView android:scaleType="fitXY" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/tour_9"/>
<ImageView android:scaleType="fitXY" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/tour_10"/>
<ImageView android:scaleType="fitXY" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/tour_11"/>
</ViewFlipper>
<LinearLayout android:id="@+id/exit_bar" android:layout_gravity="top" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@drawable/blue_bar" android:visibility="invisible">
<Button android:background="@drawable/orange_btn" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_gravity="center" android:textStyle="bold" android:textColor="#000000" android:shadowColor="#ffffff" android:shadowRadius="1.6" android:shadowDx="1.5" android:shadowDy="1.3" android:id="@+id/exit_tour_btn" android:text="Exit" android:layout_marginLeft="20dip"/>
<TextView android:layout_height="wrap_content" android:textColor="#ffffff" android:layout_gravity="center" android:layout_width="110dip" android:layout_marginLeft="20dip" android:textSize="16dip" android:textStyle="bold" android:text="Life360 Tour"/>
</LinearLayout>
<Button style="@style/BlueBtn" android:text="Continue" android:layout_marginTop="40dip" android:id="@+id/continue_btn" android:visibility="gone" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_gravity="center" />
<FrameLayout android:id="@+id/bottom_bar" android:layout_gravity="bottom" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@drawable/blue_bar" android:visibility="invisible">
<ImageView android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/left" android:layout_gravity="left|center" android:background="@drawable/tour_left" android:layout_marginLeft="10dip"/>
<ImageView android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/right" android:layout_gravity="right|center" android:background="@drawable/tour_right" android:layout_marginRight="10dip"/>
</FrameLayout>
</merge>
19 answers
Wyjątek inflate nie jest w rzeczywistości problemem, ale tak naprawdę pochodzi z innego głębszego problemu w układzie, który jest następnie owinięty w InflateException. Częstym problemem jest wyjątek out of memory podczas próby napompowania widoku imageview ładującego zasób dający się narysować. Jeśli jeden z tych zasobów ma wysoką rozdzielczość pikseli, zajęłoby to dużo pamięci, powodując nadmuchanie wyjątku.
Więc zasadniczo sprawdź, czy rozdzielczość pikseli w obrazach rysunkowych jest tylko minimalna niezbędne dla Twojego układu.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-04-26 21:47:33
ViewFlipper
ładuje wszystkie obrazy do pamięci podczas nadmuchiwania układu. Ponieważ moje obrazy są duże, zajmuje to wiele pamięci, zamieniłem ViewFlipper
na ImageSwitcher
, które mogą zmieniać obrazy za pomocą animacji, jak ViewFlipper
, ale ładuje tylko jeden obraz w tym czasie.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-03-03 21:21:30
Może się to również zdarzyć, jeśli użyjesz VectorDrawable
używając biblioteki wsparcia i zapomnisz użyć app:srcCompat
zamiast android:src
Dokładny błąd to: Binary XML file line # XX: Error inflating class ImageView
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-06-09 14:07:41
Wiem, że pytanie jest już odpowiedział, ale nadal zamieszczam z myślą, że może ktoś natknąć się na tego rodzaju problem.
W moim przypadku problem polega na tym, że Ładuję aplikację na telefon, która odwołuje się do układów z folderu res/ layout/i wartości dla @dimens z res/values/dimens tutaj jest to font_22 do którego próbuje uzyskać dostęp i jest definiowana w res/values-xlarge / dimens.
Aktualizuję UI istniejącego projektu.
Napotkałem ten problem, ponieważ używam IDE Eclipse gdzie ctrl + Spacja dla podpowiedzi podczas pisania XML dla folderu layout wyświetla wszystkie wartości z folderu values oraz values-XLarge niezależnie od tego dla którego folderu piszę.
Wiem również, że wartości w obu plikach powinny być takie same, aby odwzorować je dla różnych ekranów.
Mam nadzieję, że to może pomóc komuś w takim głupim problemie.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-03 12:03:39
Mój rozmiar zdjęcia to tylko 14kb, ale problem w tym, że projektant dał mi 1011PX x 1819px (rozdzielczość zbyt wysoka, co powoduje nadmuchanie)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-11-02 12:34:13
Miałem ten sam błąd podczas tworzenia niestandardowego widoku z tylko jednym konstruktorem, spróbuj zdefiniować wszystkie konstruktory dla swoich niestandardowych widoków.
public CustomWebView(Context context) {
super(context);
init();
}
public CustomWebView(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public CustomWebView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
init();
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-21 01:50:12
Ten link może Ci pomóc. Spróbuj sprawdzić w swoim manifeście dla problemów. Jeśli możesz sprawić, że stanie się to ponownie, Opublikuj cały ślad stosu, abyśmy mogli zobaczyć, jaki jest błąd.
EDIT: jestem pewien, że to sprawdziłeś, ale co jest w linii 12 pliku XML, którego używasz do układu TourActivity?
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:02:59
Napotkałem ten sam błąd i znalazłem główny powód:
Użyj kontekstu aplikacji do nadmuchiwania widoku.
Nadmuchiwanie kontekstu aktywności naprawiło błąd.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-09 04:08:26
Miałem ten błąd, ponieważ wybrałem motyw jako temat materialny. Ale jak próbowałem uruchomić aplikację na 4.4.2 dał ten błąd.
Rozwiązanie: Wybierz Theme_holo jako theme
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-11-03 18:56:24
Dla mnie komunikat o błędzie był niewystarczający w log cat, więc oto, co zrobiłem, aby dowiedzieć się, co spowodowało problem:
(w komunikacie błędu log cat napisano, że błąd wystąpił podczas nadmuchiwania określonego układu w moim HomeFragment.java)
- ustawiłem punkt przerwania tuż przed napompowaniem układu
- uruchomiłem aplikację w trybie debugowania, dopóki nie osiągnęła określonego punktu przerwania
- wybrałem linię kursorem i uruchomiłem
Evaluate expression
na niej:-
Run > Evaluate Expression
lubalt - F8
-
- wynik pokazał mi więcej informacji o źródle problemu, którym w moim przypadku był plik drawable przy użyciu
tools:targetApi="lollipop"
(błąd wystąpił tylko na starszych urządzeniach).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-10-09 12:05:14
Jakby ktoś miał podobne problemy, to miałem taki problem przy nadmuchiwaniu widoku:
View.inflate(getApplicationContext, R.layout.my_layout, null)
Naprawiono przez zastąpienie getApplicationContext
przez this
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-31 15:05:16
Miałem ten sam błąd i rozwiązałem przenoszenie moich rysunków z folderu drawable-mdpi do folderu drawable. Zajęło mi trochę czasu, aby uświadomić sobie, ponieważ w Eclipse wszystko działało idealnie, podczas gdy w Android Studio mam te brzydkie błędy uruchomieniowe.
Edit note: Jeśli migrujesz z eclipse do Android Studio i twój projekt pochodzi z eclipse to może się zdarzyć, więc uważaj, że w Android Studio rzeczy trochę różni się od eclipse.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-11-03 20:24:23
Miałem ten problem przed chwilą i udało mi się dowiedzieć, co to jest. Odnosiłem się do koloru w moich wartościach, który sprawiał problemy. Tak zdefiniowano go ręcznie zamiast używać jednego z rozwijanych sugestii.Potem zadziałało!
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-20 19:08:36
W moim przypadku ten błąd występuje, gdy używam pływającego przycisku akcji i ustawiam android:backgroundTint="#000"
. Więc po prostu nie ustawiaj backgroundTint
i problem rozwiązany.
Mam nadzieję, że to ci pomoże.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-05 13:00:10
Znalazłem ten sam błąd, i zajęło dwa dni, aby zidentyfikować, co to był błąd.
Błąd był po prostu dlatego, że próbowałem użyć jednego: android:background
Zamiast: app:srcCompat
W pliku SVG.
W Twoim przypadku, wierzę, że to jest to
<ImageView
android:scaleType="fitXY"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:src="@drawable/tour_11" <-- the error is here !
/>
Mam nadzieję, że to pomoże.Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-25 20:19:11
Też miałem do czynienia z podobnym problemem. Podczas gdy dla każdego może to być problem różnych złych zastosowań w kodzie, takich jak
- Wrong Layout tag in XML
- załadowanie ciężkiego zasobu bezpośrednio do ImageView w wyniku OOM
- Problemy z używaniem stylów.
Jednym z najczęściej ignorowanych czynników może być użycie poprawnego kontekstu podczas zawyżania widoków. Sprawdź, czy nie używasz ApplicationContext, gdzie wymagany jest kontekst aktywności. Podczas gdy ApplicationContext może nie zawsze skończyć się błędem, ale w zależności od twojej hierarchii widoków może to być kluczowe.
Rozwiązałem problem ze złym kontekstem (używając ApplicationContext zamiast Activity w ciągu 4 dni! Więc spróbuj, jeśli to rozwiąże. Szczęśliwego Kodowania!!
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-04 10:48:08
Miałem do czynienia z tym samym problemem, użyłem znacznika widoku w xml zamiast widoku. Zastąpienie klasy View rozwiązało problem.
Mam nadzieję, że tobie też pomoże..
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-07-23 06:55:40
Musimy sprawdzić wersję API. Kiedyś podawałem kolor tła do mojego LinearLayout
Jak
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/as_royalblue"
android:orientation="vertical"></LinearLayout>
Na pewno miałem ten sam błąd, as_royalblue.xml
w drawable
folderze
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:angle="90"
android:endColor="@color/royalblue_s"
android:startColor="@color/royalblue_e" />
</shape>
I jak to naprawiłem , właściwie wydaje się to problemem Api, więc musimy sprawdzić poziom api, jeśli jest powyżej API 24, więc jesteśmy w stanie korzystać tak, jak lubimy. Ale jeśli jest poniżej 24 musimy unikać użycia, juty dają normalny kolor lub jeden kolor nie gradencjalny mieszany.
fun checkAPI_N(): Boolean {
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N)
return true
else
return false
}
Give id to your linearlayouts i Ustaw tła, jeśli jest ok
if(UtilKotlin.checkAPI_N()){
linlay_act_menu_container.setBackgroundResource(R.drawable.a_6)
linlay_act_menu_logo.setBackgroundResource(R.drawable.as_strain)
}else {//todo normal color background setting}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-24 14:12:55
Wiem, że to odpowiedź na pytanie, ale nie widzę przyczyny, z którą się spotkałem.
To było to, że Android Studio umieściło moje drawables w /drawable-V24 Mój emulator to API 23. Tak więc w końcu nie może go znaleźć.
Rozwiązaniem było przeniesienie wszystkich drawables do folderu / drawable (no -24).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-09-24 16:24:37