Mise à jour
Le problème est résolu dans la bibliothèque de prise en charge 27.0.0. Si vous mettez à jour n'oubliez pas de changement compileSdkVersion 27
ainsi.
Ce qui se passe?
Appareils Samsung avec Android 4.4 crash comme ça quand les classes étendant View
définir des méthodes qui retournent ou prendre des paramètres de types qui ne sont pas sur le chemin de classe.
En commençant avec le soutien de la bibliothèque de la version 25.4.0 AppCompatImageView
et AppCompatImageButton
incorrectement remplace setImageIcon(Icon)
méthode. Depuis Icon
de classe a été introduit dans l'API 23 l'application se bloque sur les appareils Samsung avec l'API 19.
Chose semblable se produit lorsque vous essayez de remplacer View.onApplyWindowInsets(WindowInsets)
.
Solution de contournement pour le soutien de la bibliothèque 26.1.0
Jusqu'à ce que cela se fixe dans une façon officielle, Si vous êtes coincé avec une ancienne version de la bibliothèque de prise en charge, j'ai fait une version modifiée de l' appcompat-v7
où toutes les traces d' setImageIcon
méthodes sont supprimés. Cela signifie qu'il ne tombe pas en panne sur un Samsung avec Android 4.4.
Placer au fond de votre application à construire.gradle:
repositories {
maven { url "https://dl.bintray.com/consp1racy/maven" }
}
configurations.all {
resolutionStrategy.eachDependency { details ->
def requested = details.requested
if (requested.group == 'com.android.support' && requested.name == 'appcompat-v7') {
details.useTarget 'net.xpece.android:support-appcompat-v7-fixed:26.1.0-1'
}
}
}
Ce code remplacera appcompat-v7
de dépendance avec la décrit modifié artefact.
Actuellement, la seule prise en charge version du correctif est 26.1.0.
Avertissement: Comprendre le code avant de copier-coller, et toujours faire preuve de prudence lors de l'obtention du code à partir de sources inconnues!