Ionic 2 : adb devices unauthorized

Lorsque vous débuguez vos applications Ionic 2 sur un smartphone, il peut arriver que votre device soit considéré comme étant "unauthorized", ce qui empêche notamment de voir les précieux logs en temps réel :

adb devices  
List of devices attached  
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
4200ab279b6f9200        unauthorized  

Vous remarquerez peut-être aussi qu'il est fait mention d'un vendor keys non définies :

This adb's $ADB_VENDOR_KEYS is not set; try 'adb kill-server' if that seems wrong  

Voici les solutions les plus communes.

Supprimer adbkey

Dans mon cas, cela a suffi. Je suis allé dans mon répertoire ".android"
et ai supprimé les fichiers adbkey.pub et adbkey

J'avais au préalable arrêté adb :

adb kill-server  

puis ai supprimé les fichiers en question qui se trouvaient dans :

C:\Users\sam\.android\adbkey.pub  
C:\Users\sam\.android\adbkey  

Une boite de dialogue s'est alors affichée sur mon smartphone connecté par un cable USB qui me demandait si je souhaitais authoriser la connection.

En listant les devices, tout était rentré dans l'ordre

adb devices  
List of devices attached  
4200ab279b6f9200        device  

Et maintenant je peux voir mes logs

adb logcat  

Alternative 1

Supprimer et ré authoriser le déboggage USB sur le smartphone. Lors de mes recherches de solutions, j'ai pu constater que certains développeurs devaient, outre la suppression des fichiers adbkey,
également supprimer l'authorisation puis authoriser de nouveau le déboggage USB sur leur smartphone.

Alternative 2

D'autres développeurs ont eu besoin de :

  • déconnecter le smartphone du cable USB
  • supprimer l'authorisation de déboggage USB sur le smartphone
  • redémarrer leur smartphone
  • le connecter de nouveau à leur poste de développement en précisant que rebooter leur smartphone avaient été indispensable.

Une de ces trois solutions devrait faire votre bonheur.