title: Detect and remove unused classes in external libraries
body: <p>I'm working on an Android project that has uses several large external libraries (.jar files). Since Android has the 65536 methods limit of DEX, I'd like to remove all classes and methods in the external libraries that I haven't used once in my code.</p>
  
  <p>The problem is that the classes I'm using in the external libraries have dependencies of their own. I wish to identify all of the classes in the external libraries that I do not need (are not used by my code and are not dependencies of classes I do need).</p>
  
  <p>Two clarifications:</p>
  
  <ol>
  <li><p>ProGuard and DexGuard are irrelevant since they do not modify external libraries</p></li>
  <li><p>I do not wish to use custom loaders or split my code into multiple dex files. All I wish to do is identify and remove the classes in question.</p></li>
  </ol>