J'utilise Espresso pour les tests d'instrumentation et les exécute sur Android Preview P Emulator . J'ai 5 scénarios de test dans ma classe de tests, dont l'un échoue lors de l'exécution de la suite de tests et de l'erreur ci-dessous.
Problèmes détectés avec la compatibilité de l'API
Considérant que le cas de test qui échoue est réussi lorsqu’il est exécuté individuellement et non dans la suite.
Étant donné que la boîte de dialogue s'affiche dans la vue portant la mention Detected problems with API compatibility
, aucune vue correspondante ne figure dans l'exception de hiérarchie avec l'erreur mentionnée ci-dessus.
Référencement vers docs : Sous Android P, cette boîte de dialogue indiquant
Problèmes détectés avec la compatibilité de l'API
Pourquoi cette boîte de dialogue est affichée?
Raison: Votre code a frappé le
liste grise sombre
Quels sont les apis greylist sombres? De tels apis qui ne sont pas autorisés à appeler par d’autres applications, dans mon cas j’utilisais la méthode startSoftAp qui était énumérée en gris foncé. Supprimer cet appel a effacé la boîte de dialogue.
Comment allez-vous trouver?
Dans votre logcat -> verbose -> recherche ("Accès caché")
LOGCAT RESULT
Accès à la méthode cachée: Landroid/net/wifi/WifiManager: startSoftAp (Landroid/net/wifi/WifiConfiguration;) Z (liste grise sombre, réflexion)
Changer targetSdkVersion à 28 (contre 27 auparavant) faisait disparaître le problème ... Je suppose que dans la plupart des cas, ce ne serait pas une solution valable, mais dans mon cas, cela a permis d'avancer dans mon projet.