Невозможно запустить действие ComponentInfo android.view.InflateException: строка двоичного файла XML # 31

1

У меня проблема в Android в версиях 5.x, не воспроизводимая в Android 4.3.

При запуске PreferenceActivity появляется следующая ошибка:

java.lang.RuntimeException: невозможно запустить активность ComponentInfo {com.xxxx.yyyy/com.xxxx.yyyy.view.SettingsActivity}: android.view.InflateException: двоичная строка XML файла # 31: двоичный XML-код строка файла # 31: ошибка раздувания класса

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

Если я освобожу файл preferences.xml, там будет ошибка, если я запустил другую, DummyActivity (пустое действие), это произойдет снова, поэтому ошибка может быть... в другом месте приложения!

Активность вызывающего абонента - это активность карты; Я читал, что это может быть проблемой, но я запускаю ее, используя самую последнюю доступную документацию:

((SupportMapFragment) mContext.getSupportFragmentManager()
            .findFragmentById(R.id.map))
            .getMapAsync(new OnMapReadyCallback() {
                @Override
                public void onMapReady(GoogleMap map) {
                    mMap = map;
                    setUpMap();
                }
            });

Использование getSupportFragmentManager и асинхронных вызовов.

Любые идеи? Я не могу просто искать по всему приложению, ищущему эту ошибку! Android должен предоставить более удобную для человека информацию для таких проблем... особенно, когда они не происходят в каждой версии Android, что является еще одним вопросом: почему совместимость настолько нарушена так часто.

  • 0
    Пожалуйста, поделитесь всем своим logcat. Существует еще одно исключение
Теги:

2 ответа

0
Лучший ответ

Используя мою систему управления версиями, я выполнил двоичный поиск (вздох), чтобы найти набор изменений, где ошибка появляется впервые, и она соответствует, когда я обновляю целевую версию sdk до API 23 (Android 6.0, изменение прав доступа ) все сломанный:

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"
}

dependencies {
    compile 'com.android.support:appcompat-v7:23.3.0'
    compile 'com.google.android.gms:play-services-location:8.4.0'
    compile 'com.google.android.gms:play-services-maps:8.4.0'
}

Я искал и есть больше людей с той же проблемой, поэтому мне кажется, что есть ошибка в sdk-инструментах версии 23.0.1 (последняя), Проблема в том, что я не могу обновиться до версии API 23 и правильно проверить разрешения, так как Android 6 справляется с ними, но я могу немного сделать это, инструменты API просто не работают.

0

Указать android:name = "com.packagename.Activityname" в вашем XML файле.

<fragment xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/map"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    class="com.google.android.gms.maps.SupportMapFragment"
    android:name="com.packagename.Activityname"/>
  • 0
    К счастью, я использую инструмент управления версиями самостоятельно, поэтому я бинарный поиск, чтобы выяснить, что сломало изменения. Я с подозрением отношусь к некоторым советам Lint, это будет не в первый раз ... вы должны быть осторожны, применяя то, что говорит Lint, иногда предложения не подходят для вашего случая :(

Ещё вопросы

Сообщество Overcoder
Наверх
Меню