Android - поддержка библиотек 23.2.0 привести к сбою приложения

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

com.android.support:appcompat-v7:23.2.0

com.android.support:design:23.2.0

У меня есть эта проблема на моей галактике nexus (API 17), но не на моем Nexus 7 (API 22). Кто-нибудь знает, что может быть проблемой? Вот мой файл gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "com.ikarirobotics.aichordfinder"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:support-annotations:23.2.0'
    compile "com.android.support:appcompat-v7:23.2.0"
    compile 'com.android.support:design:23.2.0'
    compile 'com.android.support:cardview-v7:23.2.0'
    compile 'com.android.support:recyclerview-v7:23.2.0'
}

Мой макет - это только рамка, в которой я помещаю соответствующий фрагмент:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/fragment_container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="HomeActivity"
    tools:ignore="MergeRootFrame" />

Используя отладчик, я смог обнаружить, что авария происходит, когда основная активность вызывает setContentView():

java.lang.reflect.InvocationTargetException

java.lang.RuntimeException: не удается запустить Activity ComponentInfo {com.ikarirobotics.aichordfinder/com.ikarirobotics.aichordfinder.HomeActivity}: android.view.InflateException: двоичная строка XML файла # 36: ошибка раздувания класса android.support. v7.widget.Toolbar

Моя активность расширяет AppCompatActivity, и я использую панель действий поддержки. Любые идеи по устранению этой проблемы?: (

Ответы

Ответ 1

Как и предсказывали некоторые из людей здесь, проблема исчезла, когда я начал использовать библиотеки поддержки 23.2.1. Спасибо всем за поддержку.

Ответ 2

Кажется, что исправлена ​​ошибка с мутацией, которая работает в Google с выпуском 23.2.0. См. здесь проблему. Возвращаясь к 23.1.1, должно быть хорошо до следующего выпуска исправления.

Ответ 3

То же самое происходит со мной. Я частично исправил его возврат к 23.1.1 по поддержке: дизайн.

Ответ 4

@CesarPim да, есть, у меня такая же проблема для CheckBox, хотя я могу исправить эту проблему, создав abc_btn_check_material.xml внутри папки с возможностью рисования и добавив следующие строки. Я не могу быть уверен, где она будет разбиваться. Вы можете найти чертежи и селекторный код по этой ссылке: https://github.com/NativeScript/nativescript-plugin-appcompat/tree/master/platforms/android/appcompat/res/drawable

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true" android:drawable="@drawable/abc_btn_check_to_on_mtrl_015" />
    <item android:drawable="@drawable/abc_btn_check_to_on_mtrl_000" />
</selector>

Ответ 5

Просто проблема была сама. Быстрое обновление через SDK Manager, похоже, решило проблему.

На стороне примечания ни одна из моих зависимостей build.gradle фактически не использовала 23.2.0, но я все же получил ошибку. Попытка "понизить" до 23.1.1 не была для меня вариантом, поскольку я уже использовал эту версию.