title: Best approach for Free and Paid versions of Android application?
body: <p>I have developed an Android app which I want to be available both as free and paid version. What is the best approach?</p>
  
  <p>I can think of three solutions:</p>
  
  <ol>
  <li>Split the project into two branches and maintain both of them.</li>
  <li>Create a library project and have two additional projects, one 'Free' and one 'Paid' version.</li>
  <li>Use in-app billing.</li>
  </ol>
  
  <p><strong>Q: Which solution is the best? And why?</strong></p>
  
  <p>Some things to consider:</p>
  
  <ul>
  <li>My app is around 1.5 MB (AdMob excluded).</li>
  <li>I'm currently targeting Android 2.2 (Froyo).</li>
  <li>I do have some server APIs that would benefit from knowing if the client is paid or not.</li>
  <li>I seek to avoid my app being cracked. Not sure if this is a real problem these days...</li>
  </ul>