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
У меня есть эта проблема на моем Galaxy 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: не удается запустить действие ComponentInfo{com.ikarirobotics.aichordfinder/com.ikarirobotics.aichordfinder.HomeActivity}: android.view.InflateException: строка двоичного файла XML #36: ошибка надувания класса android.support.v7.widget.Toolbar
Моя деятельность расширяет AppCompatActivity, и я использую панель действий поддержки. Есть идеи, как решить эту проблему?:(
5 ответов
Как и предсказывали некоторые из присутствующих здесь людей, проблема исчезла, когда я начал использовать библиотеки поддержки 23.2.1. Спасибо всем за поддержку.
Похоже, что в Google с выпуском 23.2.0 исправлена мутационная ошибка. Смотрите проблему здесь. Возвращение к 23.1.1 должно быть хорошо до следующего выпуска исправления.
То же самое происходит со мной. Я частично исправил это возвращение к 23.1.1 на поддержку: дизайн.
@CesarPim Да, это так, у меня та же проблема с CheckBox, хотя я могу решить эту проблему, создав abc_btn_check_material.xml в папке drawable и добавив следующие строки, но я не могу быть уверен, где он сломается дальше. Вы можете найти чертежные и селекторный код по этой ссылке: 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>
Просто была проблема сама. Быстрое обновление через SDK Manager, похоже, решило проблему.
Кстати, ни одна из моих зависимостей build.gradle фактически не использовала 23.2.0, но я все равно получил ошибку. Попытка понизить версию до 23.1.1 не была для меня вариантом, так как я уже использовал эту версию.