title: What are the criteria(in the programming point of view) that one should keep in mind while creating a java jar(as library) file for android
body: <p>I know how to create a jar file using Eclipse. </p>
  
  <p>I was trying to create a share library so that I can avoid redundant source code. I have figured out that a jar should be :- </p>
  
  <ul>
  <li>independent </li>
  <li>should not make call to external class attributes(properties)/methods except the standard library imports.</li>
  <li>The resources should be given as a parameter to jar file to perform a action.</li>
  <li>Should work as a independent entity.</li>
  </ul>
  
  <p>I tried to well organised my code in different packages also added MANIFEST.MF file.</p>
  
  <p>This is first time I'm trying for data abstraction.</p>
  
  <p>I would like to request suggestions/instructions as per the programmer point of view, what are the criteria that jar code should have ?</p>
  
  <p>Is it good idea that my jar is or depend on another jar (viz java mail api jar) ?</p>
  
  <p>Thanks in advance.</p>