Android.view.InflateException: двоичная строка XML-файла # 12: ошибка раздувания класса <unknown>

Я получаю много ошибок вида, отображаемых в subj. Эти ошибки кажутся случайными, и я не могу их воспроизвести. Из стека я могу узнать, что такая ошибка может возникнуть для моих разных ресурсов макета. Линия XML также меняется.

Может ли кто-нибудь объяснить, почему эта ошибка возникает? И что я могу сделать, чтобы исправить эту проблему?

стек

============================================================= 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) 

Вот результат XML, однако такая ошибка возникает в других xmls

 <?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> 

Solutions Collecting From Web of "Android.view.InflateException: двоичная строка XML-файла # 12: ошибка раздувания класса <unknown>"

Исключение надувания на самом деле не проблема, но на самом деле происходит из другой более глубокой проблемы в вашем макете, который затем завернут в InflateException. Общей проблемой является исключение из памяти при попытке раздуть изображение, загружая ресурс, пригодный для переноски. Если один из этих ресурсов имеет высокое разрешение пикселей, потребуется много памяти, что приведет к исключению раздувания.

Поэтому в основном убедитесь, что разрешение пикселей в ваших изображениях с рисунками является минимальным, необходимым для вашего макета.

ViewFlipper загружает все изображения в память во время раздувания макета. Поскольку мои изображения большие, требуется много памяти, я заменил ViewFlipper на ImageSwitcher который может изменять изображения с помощью анимации, например ViewFlipper но в то же время загружает только одно изображение.

Это также может произойти, если вы используете VectorDrawable с помощью библиотеки поддержки и забыли использовать app:srcCompat вместо android:src

Точная ошибка: двоичная строка XML-файла #XX: ошибка раздувания класса ImageView

См. Эту ссылку

Я знаю, что на вопрос уже ответили, но все же я отправляю с мыслью, что кто-то может столкнуться с такой проблемой.

В моем случае проблема заключается в том, что я загружаю свое приложение на телефон, который ссылается на макеты из res / layout / folder и значения для @dimens из res / values ​​/ dimens здесь, это font_22, к которому он пытается получить доступ, и он определяется в res / values-xlarge / Dimens.

Я фактически обновляю пользовательский интерфейс существующего проекта.

Я столкнулся с этой проблемой, потому что я использую IDE Eclipse, где я ctrl + space для подсказки при написании xml для папки макета, он отображает все значения из значений, а также папки значений-xlarge независимо от того, в какой папке я пишу.

Я также знаю, что значения в обоих файлах должны быть одинаковыми для отображения на разных экранах.

Надеюсь, это может помочь кому-то столкнуться с такой глупой проблемой.

Эта ссылка может вам помочь. Попробуйте проверить свой манифест на наличие проблем. Если вы можете заставить его повториться, опубликуйте всю свою трассировку стека, чтобы мы могли видеть, что такое ошибка.

EDIT: Я уверен, что вы проверили это, но что находится в строке 12 XML-файла, который вы используете для макета TourActivity?

Размер моей картинки составляет всего 14 КБ, но проблема в том, что дизайнер дал мне 1011px x 1819px (разрешение слишком высокое, что вызвало InflateException)

Я столкнулся с такой же ошибкой и нашел причину:

Используйте контекст приложения, чтобы раздуть представление.

Inflating with Activity Context исправил ошибку.

У меня была эта ошибка, потому что я выбрал тему как тему материала. Но поскольку я пытался запустить приложение на 4.4.2, он дал эту ошибку.

Решение: выберите Theme_holo в качестве темы

У меня была такая же ошибка, и я решил переместить мои чертежи из папки drawable-mdpi в папку, пригодную для переноски. Понял, что я понял, что в Eclipse все работает отлично, в то время как в Android Studio я получил эти уродливые ошибки времени выполнения.

Редактирование примечания. Если вы переходите из eclipse в Android Studio и ваш проект идет из eclipse, это может случиться, поэтому будьте осторожны, что в Android Studio вещи немного отличаются от eclipse.

У меня была такая же ошибка при создании настраиваемого представления только с одним конструктором, попробуйте определить все конструкторы для ваших пользовательских представлений.

  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(); } 

У меня была эта проблема только сейчас, и мне удалось выяснить, что это было. Был ссылкой на цвет в моих значениях, вызывающих проблемы. Поэтому он определил его вручную, вместо того, чтобы использовать один из раскрывающихся предложений. Тогда это сработало!

В моем случае эта ошибка возникает, когда я использую кнопку Floating action и устанавливаю android:backgroundTint="#000" . Тогда просто не устанавливайте backgroundTint и проблему. Надеюсь, это полезно для вас.