title: Why does the app signature change in Android after a classpath change?
body: <p>I have an Android project that branched into three different applications, <code>app-1</code>, <code>app-2</code> and <code>app-3</code>, that apply some customizations. Currently there is a lot of code duplication, making maintenance a nightmare: do the changes in one of the branches, and then merge the other two.</p>
  
  <p>So we create a library project, named <code>app-core</code>, that factors out most of the duplicated code. So far so good.</p>
  
  <p>When I launch this into an emulator where the application was already loaded (before the refactoring), I get this exception:</p>
  
  <p><code>Re-installation failed due to different application signatures</code></p>
  
  <p>A different signature? But I just added a line in the <code>.classpath</code> to link to the <code>app-core</code> Java project!</p>
  
  <p>The main question is: are the existing users going to be bothered by this too?</p>
  
  <p>And the side question: Why is it a different signature?</p>