web-dev-qa-db-fra.com

android - bibliothèques de support 23.2.0 provoquent le blocage de l'application

Mon application fonctionne bien avec les bibliothèques de support 23.1.0 ou 23.1.1, mais lorsque je commence à utiliser 23.2.0, elle se bloque au lancement . J'utilise cinq bibliothèques de support, mais celles qui semblent le faire planter sont les suivantes:

com.Android.support:appcompat-v7:23.2.0

com.Android.support:design:23.2.0

J'ai ce problème sur mon lien de galaxie (API 17) mais pas sur mon Nexus 7 (API 22) . Quelqu'un sait-il quel pourrait être le problème? Voici mon fichier de classement:

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'
}

Ma mise en page n'est qu'un cadre dans lequel je place le fragment actuellement approprié:

<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" />

En utilisant le débogueur, j'ai pu découvrir que le blocage se produisait lorsque l'activité principale appelait setContentView ():

Java.lang.reflect.InvocationTargetException

Java.lang.RuntimeException: impossible de démarrer l'activité ComponentInfo {com.ikarirobotics.aichordfinder/com.ikarirobotics.aichordfinder.HomeActivity}: Android.view.InflateException: ligne de fichier XML binaire # 36: erreur lors de l'influx de la classe Android.support.v7.w. Barre d'outils

Mon activité s'étend à AppCompatActivity et j'utilise la barre d'action de support. Des idées sur la façon de résoudre ce problème? :(

14
CesarPim

Comme prévu par certaines personnes ici, le problème a disparu depuis que j'ai commencé à utiliser les bibliothèques de support 23.2.1 .. Merci à tous pour votre soutien.

1
CesarPim

Il semble y avoir un bogue de mutation attrayante comme étant en cours de traitement sur Google avec la version 23.2.0. Voir le problème ici. Revenir à 23.1.1 devrait être correct jusqu’à la prochaine publication du correctif.

5
opt05

La même chose m'arrive. Je l'ai partiellement corrigé en revenant à 23.1.1 sur support: design.

@CesarPim oui, j'ai le même problème pour CheckBox, bien que je puisse résoudre ce problème en créant abc_btn_check_material.xml dans un dossier pouvant être tracé et en ajoutant les lignes suivantes, mais je ne sais pas trop où il se cassera. Vous pouvez trouver des dessins et des codes de sélecteur sur ce lien: 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>
2
DoubleK

Juste eu le problème moi-même. Une mise à jour rapide via le SDK Manager semble avoir résolu le problème. 

En passant, aucune de mes dépendances build.gradle n'utilisait réellement le 23.2.0, mais j'ai quand même reçu l'erreur. Essayer de passer à la version 23.1.1 n’était pas une option pour moi car j’utilisais déjà cette version. 

1
Silmarilos