Android device monitor freezes on Mac OS X

Finally Fixed!!!. This problem occured to me when i was using jdk-8u161-macosx-x64, downgrading the jdk from jdk-8u161-macosx-x64 to jdk-8u151-macosx-x64 solved the issue for me.

  1. Remove your existing java jdk by running this command sudo rm -rf /Library/Java/*
  2. Download the jdk-8u151-macosx-x64 from http://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html you need to sign up to oracle to download previous versions of jdk.
  3. intall jdk-8u151-macosx-x64 by just following the instructions.

Alternatively you can keep latest jdk and update swt used by monitor:

get updated swt: https://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops4/R-4.7.1a-201710090410/swt-4.7.1a-cocoa-macosx-x86_64.zip

unzip somewhere

copy extracted swt.jar over lib/monitor-x86_64/plugins/org.eclipse.swt.cocoa.macosx.x86_64_3.100.1.v4236b.jar


While other answers are correct that the solution is to use an old version of the JDK, just replacing the latest JDK was not an option for me (and should not be for you, either!). To get monitor working with an older Java version installed along the newest one, do the following:

  1. Find your android SDK location
  2. Go to <android-sdk>/tools/libs/monitor-x86_64/
  3. Find the monitor.app application and right click on it, select "Show Package Contents"
  4. Expand Contents and edit Info.plist in a text editor
  5. Look for the <key>Eclipse</Key> section
  6. Uncomment one of the <string>-vm</string>... lines and point it to the 1.8 151 JDK, like so:

     <string>-vm</string><string>/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/bin/java</string>
    
  7. Save the file
  8. Start the app and it should work now!

Remember that you'll have to do this again when the tools are updated!


Finally issue resolved. It was JDK java version.

Changed it to a level below and its working now.

java.version=1.8.0_152-ea --> not supported it seems

java.version=1.8.0_151 --> working fine with it