Whenever I try to run adb devices:
$ adb devices
* daemon not running. starting it now *
* daemon started su
Are you using Genymotion for a virtual device?
if yes this error probably came out because ADB from Genymotion conflicted with your ADB from Android SDK(using same port number), to fix this simply go to settings => choose ADB tab => click on the option Use custom Android SDK Tools and set your SDK folder

after you configure this, try to restart your adb by going into folder platform-tools which adb placed and do this command:
./adb kill-server./adb start-server*tips: You may close the process of Genymotion before running the command above
Hope this help.