Je développais un projet React Native comme toujours; quand j'ai rencontré l'erreur suivante après avoir fait react-native run Android
ou de manière équivalente cd Android && ./gradlew installDebug
. C'est juste au-dessus de la dernière étape que cette exception est interceptée:
:app:assembleDebug
:app:installDebug
Exception in thread "Device List Monitor" Java.lang.NullPointerException
at com.Android.ddmlib.EmulatorConsole.checkConnection(EmulatorConsole.Java:317)
at com.Android.ddmlib.EmulatorConsole.getConsole(EmulatorConsole.Java:231)
at com.Android.ddmlib.DeviceMonitor.queryAvdName(DeviceMonitor.Java:248)
at com.Android.ddmlib.DeviceMonitor.updateDevices(DeviceMonitor.Java:220)
at com.Android.ddmlib.DeviceMonitor.access$400(DeviceMonitor.Java:65)
at com.Android.ddmlib.DeviceMonitor$DeviceListUpdateListener.deviceListUpdate(DeviceMonitor.Java:662)
at com.Android.ddmlib.DeviceMonitor$DeviceListMonitorTask.processIncomingDeviceData(DeviceMonitor.Java:847)
at com.Android.ddmlib.DeviceMonitor$DeviceListMonitorTask.run(DeviceMonitor.Java:781)
at Java.lang.Thread.run(Thread.Java:745)
> Building 97% > :app:installDebug`
Je code sur la version 0.43.2 de react-native et sur la version 2.0.1 de react-native, ainsi que npm 4.1.2 et le fil 0.21.3; Ubuntu 16.04. Donc, tout est armé jusqu'aux dents par la dernière version, mais je ne peux toujours pas comprendre le problème. Cela arrive même pour un projet que je viens de créer avec react-native init
, c'est partout. : ( P.S. Assurez-vous que mon émulateur est opérationnel et que le problème n’est pas dû à lui.
Essayez de redémarrer adb dans pour lui demander de sonder le port local 5554
killall adb; adb devices
essayez de spécifier le chemin pour sdk/build-tools dans le terminal
export PATH="Users/YOURUSERNAME/Library/Android/sdk/build-tools/...":$PATH
après que redémarrez l'émulateur et essayez
npm run Android
En fait, je n'ai jamais trouvé la raison ou la solution au problème. Mais ce que je sais, j’ai poursuivi mon travail quotidien et après un jour ou deux (avec quelques redémarrages à cette période), il a recommencé à fonctionner. Et jusqu'à présent, je n'ai plus rencontré le problème.