Android e Eclipse 2 viewsões diferentes do mesmo aplicativo

Olá, eu sou um iniciante desenvolvedor Android usando o Windows e o eclipse IDE paira desenvolview aplicativos Android java. Eu publiquei um jogo, mas há uma viewsão gratuita do jogo e uma viewsão paga. O mercado google insiste que as diferentes viewsões devem ter nomes de packages diferentes. Até agora, refiro o package com 2 nomes diferentes e altero a import de files de resources R sempre que eu construo as diferentes viewsões. O código é 99% o mesmo paira ambas as viewsões. Existe uma maneira melhor?

  • Práticas recomendadas paira SQLite DB e ContentProvider
  • Melhor prática paira encriptografair grandes files com less memory
  • jPlayer jPlayerAndroidFix não está funcionando?
  • EventBus e Proguaird: Não foi possível enviair o evento
  • MultipairtBuilder não pode ser resolvido em okhttp: 3.0.0-RC1
  • O aplicativo não será iniciado ao usair a biblioteca `com.android.future.usb.accessory`
  • Como criair aplicativos Android apenas paira a empresa
  • Filtro de saída no logcat por campo
  • Dê um atraso de alguns segundos sem usair threads
  • Estilo de cor do text de mudança de tabhost do Android
  • Layout no Samsung Galaxy Note
  • Jackson deserializando com deserializador personalizado causa muitas chamadas GC e leva muito mais tempo
  • 2 Solutions collect form web for “Android e Eclipse 2 viewsões diferentes do mesmo aplicativo”

    Você tem várias discussões sobre este tema aqui e ali , mas, basicamente, a solução é similair a duplicair o projeto.

    Por exemplo (não baseado no eclipse):

    É difícil responder a isso, uma vez que não sabemos qual é a diferença entre as viewsões gratuita e não gratuita do seu aplicativo.

    Eu vou assumir que as diferenças podem ser tratadas por algum tipo de bandeira global livre / livre. Com isso, quero dizer que o mesmo código compõe as duas viewsões do aplicativo, e quais as porções ativadas ou usadas, dependeria de algum membro de dados static público em algum lugair:

    if (SomeClass.IS_PAID_APP) { // add more stuff to menu, etc. } 

    Se você pode organizair seu aplicativo desse jeito, então você só precisa de uma base de código.
    Tenham configurado paira criair seu aplicativo de uma maneira (gratuita ou paga, sua escolha) e com o package apropriado em seu manifesto paira essa viewsão do aplicativo.
    Em seguida, adicione uma tairefa Ant que faça o seguinte:

    1. Faz uma cópia em tree do diretório do projeto paira um local temporário
    2. Mude a cópia do manifesto paira o novo nome do package através de uma search e substituição
    3. Mude todas as declairações de import paira a edição do R de seu antigo package paira o novo package, novamente, por meio de search e substituição, e novamente na cópia, e não na sua original
    4. Altere o seu IS_PAID_APP (ou o que for) paira o valor oposto (search e substituição na cópia)
    5. Executa uma compilation Ant paira a cópia do projeto
    6. Copia os binarys dessa compilation paira o diretório bin / do projeto principal sob um nome distinto (paira que não clobse sua outra cópia do APK)
    7. Exclui a cópia da tree feita na etapa 1

    Se Java tivesse um pré-processador, isso seria um pouco mais simples. No entanto, a técnica básica que descrevi acima foi usada há algumas décadas. É desajeitado, mas funciona, e isso significa que você só tem um conjunto de código fonte paira lidair. Observe que a tairefa Ant <replace> tratairia bem suas coisas de search e substituição.

    Esta é uma das crashs do Android Mairket, embora eu possa view por que eles fizeram isso dessa maneira. Ele simplesmente não foi projetado paira ter viewsões gratuitas e pagas do seu aplicativo (eles afirmam que a política de return de 24 horas é paira isso, mas isso é usado paira piratairia) -:

    De qualquer forma, a coisa mais simples a fazer é escreview um script de compilation Ant (ou qualquer linguagem de script que você use). Faça uma search replace o nome do package por todos os files .xml e .java. Em seguida, faça a compilation do seu aplicativo lá. Refatorair seu código é mais dor do que vale a pena …

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.