title: How does Android handle common library installation used by multiple APKs?
body: <p>Say I have code in android  package com.mycompany.Client1 and com.mycompany.Client2 and both of these clients are using services defined in com.mycompany.CommonService </p>
  
  <p>I have an option where we could distribute our android application such that apk would contain Client1 only, client2 only or Client1 and Client2</p>
  
  <p>So should one be creating com.mycompany.CommonService as an library and link client1 and client2 to that library?  Or should I be creating three apk and submitting them to market?</p>
  
  <p>But wouldn't I be causing storage bloat on the device because now that library is installed two times if someone buys Client1 (or Client2)  &amp; then purchases Client1+Client2 Is there anyway to get around this?</p>
  
  <p>I don't know details about how an apk is constructed and unpacked on the device and don't know if Android installer is smart enough not to install the CommonService library two times?</p>
  
  <p>-Subodh</p>