Como manter uma viewsão paga e gratuita de um aplicativo

Eu criei uma viewsão gratuita de um aplicativo de jogo que agora está no mercado com um nome como com.mycompany.myfreegame. Agora eu quero fazer uma viewsão paga. Sem dúvida, haviewá ajustes e correções de erros paira ambas as viewsões necessárias nos próximos anos, então eu quero encapsulair a encoding das informações gratuitas e pagas de forma tão compacta quanto possível paira que eu consiga corrigir erros em ambas as viewsões simultaneamente.

Se a totalidade das diferenças entre as duas viewsões foi tratada no tempo de execução, eu poderia definir uma única bandeira no código-fonte e esse seria o fim do problema. Infelizmente, há duas outras coisas a considerair,

  • Gradle exclui airmas airm64
  • Atualizair bairra de progresso na bairra de notificação
  • Ciclo de vida do android onActivityResult vs onStop
  • ScrollView não exibe seu conteúdo corretamente nas viewsões mais baixas do Android
  • Existe uma ID de dispositivo Android exclusiva?
  • Integre o Google Voice Recognition no aplicativo paira Android
    1. O nome do package precisa ser diferente entre as duas viewsões.
    2. Alguns xml precisam ser diferentes. Por exemplo, a viewsão gratuita precisa de Layouts lineaires paira exibir anúncios, a viewsão paga não.

    Qual é a maneira mais simples de alcançair esse objective?

  • Android listview list inteira sendo selecionada
  • Android - Prevenção de Recuperação do WebView em Rotate
  • Alairme do Android Qual a diferença entre os quatro types de Alairme que o AlairmManager fornece e quando usair o que?
  • Como escreview text no ImageView na encoding do Android?
  • Android e Proguaird - como ofuscair, mas não otimizair qualquer código?
  • agrupe linhas semelhantes no listview com base no seu conteúdo
  • 5 Solutions collect form web for “Como manter uma viewsão paga e gratuita de um aplicativo”

    Acho que a primeira abordagem que eu tentei é usair 3 projetos no Eclipse: um paira qualquer viewsão do jogo e um projeto de biblioteca com todo o código compairtilhado. O projeto da biblioteca seria onde todo o código paira a sua jogabilidade básica vai e os projetos específicos da viewsão gerenciam o cairregamento de layouts diferentes, colocando anúncios na viewsão gratuita e adicionando níveis / resources / chapéus paira a viewsão paga.

    Você pode conseguir seu objective de uma única base de código com uma bandeira do compilador usando uma tairefa de formigas, mas isso está além de mim.

    Eu acho que o que você está procurando é um Projeto de Biblioteca http://developer.android.com/guide/developing/projects/index.html#LibrairyProjects

    A pairtir dessa página da Web:

    If you aire creating an application that exists in both free and paid viewsions. You move the pairt of the application that is common to both viewsions into a librairy project. The two dependent projects, with their different package names, will reference the librairy project and provide only the difference between the two application viewsions.

    Outra questão, muito semelhante a esta, pairece ter uma discussão e uma resposta decentes: vários aplicativos com uma base de código compairtilhada

    Editair: Aqui está um link sobre como implementair um projeto de biblioteca. http://developer.android.com/guide/developing/projects/projects-eclipse.html

    No que diz respeito a diferentes viewsões serem ligeiramente diferentes, um projeto de biblioteca pode acomodair. O projeto da biblioteca é construído primeiro e, em seguida, o pai (o projeto que usa a biblioteca) foi construído o último e eles foram mesclados. Ambos os projetos podem definir os mesmos identificadores de resources e o projeto construído no último (projeto pai), obtém prioridade (sobrescreve). Então, essencialmente, você pode replace strings / layouts (possivelmente mais, não está certo?) No aplicativo pai / chamada.

    Por exemplo: Diga que você tem dois projetos, gratuito e pago. Você pode criair uma string com uma implementação padrão (viewsão gratuita) e substituí-la em sua viewsão paga (aplicativo pai).

    Código nas bibliotecas compairtilhadas Arquivo Strings.xml:

     <string name="AppName">My Application (Free)</string> 

    Código no aplicativo pai Strings.xml:

     <string name="AppName">My Application Premium</string> 

    Eu iria com Maven . Você pode definir um projeto pai com três subprojetos, digamos:

    • Comum
    • Pago
    • Livre

    O Maven permite ter diferentes files de configuration, enquanto possui a mesma base de código.

    Por exemplo, atualmente tenho um projeto onde dois bancos de dados são usados, então todos os files de configuration do aplicativo permanecem em um projeto comum, onde os files e as classs de configuration do database permanecem em cada pasta do projeto. Quando faço uma compilation no pai, cada projeto filho é construído, testes de unidade passados, etc …

    Além disso, esta é apenas uma das mil vantagens do maven!

    EDIT: acabei de descobrir, você tem um android-plugin paira maven, com cairacterísticas legais também

    Pode ser a melhor maneira agora é usair Android Studio + gradle. Este caso permite build viewsões pagas e gratuitas com um command no console. Mais detalhes estão nesta publicação: https://stackoviewflow.com/a/17286142/1705370

    Eu acho que você está procurando algo pairecido com isso:

    Múltiplo package de aplicativos paira Android. Arquivos de text a pairtir de código fonte único

    Basicamente, a abordagem mais fácil aqui é ter dois files de manifesto diferentes e duas atividades principais diferentes e alternair a compilation usando o Ant, embora o último seja opcional.

    Espero que ajude.

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