How to have multiple variants of an application on the same device?
<p>I have to maintain relatively large android application. When I make changes and install it on the device, it installs over the previous version, making it unavailable. Meanwhile, I want both versions (changed and unchanged) installed, to compare theirs behavour. So for changed version cloned the code base and changed package attribute in the AndroidManifest.xml. But as a side effect, this causes errors when processing layout xml files:</p>

<pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:cyberdyne="http://schemas.android.com/apk/res/com.cyberdyne.mobile"
          android:background="@drawable/back_grad"&gt;
     &lt;TableRow android:paddingBottom="15dp"&gt;
          &lt;com.cyberdyne.mobile.EmptyByDefaultSpinner

          ^ error: No resource identifier found for attribute 'defaultLabel' in package com.cyberdyne.mobile'

              android:layout_height="@dimen/spinner_height"
              android:layout_width="fill_parent"
              cyberdyne:defaultLabel="@string/labelRDCAccount"
              style="@style/DefaultAppearancePlus"/&gt;
     &lt;/TableRow&gt;
</code></pre>

<p></p>

<p>I read that the package in <code>xmlns:cyberdyne="http://schemas.android.com/apk/res/com.cyberdyne.mobile"</code> should be the same as in AndroidManifest.xml, but I do not want to change all the layout descriptions (there are many).</p>

<p>Is there a quick way to install more than one variants of an application on the same device, without massive changes in the codebase?</p>
