Criando aplicativo de demonstração e versão completa com base em um código base / projeto

Eu desenvolvi um aplicativo Android em um projeto com o Eclipse - ele é estruturado (vindo do iPhone), então uma constante define se é a demo ou a versão completa.

Agora eu tenho o problema que toda vez que eu quero criar a versão demo eu preciso mudar a constante, mas também preciso fazer uma cópia do projeto com um nome de pacote diferente.

Obviamente, alterar o código na versão completa original precisa ser copiado para a demonstração ou eu teria que refazer a criação do aplicativo de demonstração toda vez que eu enviar meu aplicativo.

Eu vejo três abordagens possíveis:

1. Embora tenha analisado projetos de bibliotecas, ainda não está claro para mim como isso realmente fornece uma boa solução neste caso.

Por exemplo, se eu tiver a versão completa com uma estrutura de atividades:

A1
A2
A3

Usando Classes Utilitárias U1, U2

Certamente, U1 e U2 podem estar em um projeto de biblioteca e referenciados em ambos os projetos - mas as atividades, strings.xml, gráficos, layouts precisam ser duplicados (ou existe outra maneira que eu não vejo?). ser um bom caminho a seguir e, infelizmente, não foi explicado em questões semelhantes sobre este tópico quando esta abordagem foi sugerida.

2. A outra maneira seria criar diferentes nomes de pacotes baseados em diferentes configurações (similares ao iPhone), no entanto, isso não parece ser possível no Eclipse ao invés de usar alguns scripts externos (que - sinceramente - eu evito desde parece bastante propenso a erros), enquanto a compilação tem que ser invocada fora do Eclipse

3. A abordagem provavelmente mais direta (e também atualmente com esforço smalles) é apenas copiar manualmente o projeto, alterar a constante, renomear o pacote e compilar / exportar toda vez que eu enviar. Isso - no entanto - parece ser bastante "básico" e certamente não parece profissional (em comparação com a configuração / solução de compilação do iPhone / xCode)

Qual seria a melhor abordagem (exigindo quantidade mínima de mudanças e ainda sendo estável e fácil de usar)?

Muito Obrigado!

EDITAR

Para todos que tentaram a solução do tim - funciona bem, no entanto encontrei um problema com os atributos personalizados.

Verifique isso:Como resolver os atributos personalizados das bibliotecas do Android e o remapeamento do nome do pacote durante a compilação? vai resolver o isse para bibliotecas

questionAnswers(3)

yourAnswerToTheQuestion