Boas.
Estou com um problema e já não tenho ideias.
Tenho um projecto de uma app que tem imensos Activities, Fragments, Services, Layouts, Resources (imagens, strings, dimens, anims, raws, drawables, etc...).
Foi-me pedido agora uma nova aplicação que é praticamente uma cópia fiel mas que muda o background que é usado nos layouts dos ecrãs, pode mudar eventualmente alguns resources, e pode mudar alguma coisa num fragment ou noutro mas sempre coisas pequenas.
O que pensei foi: o que identifica a app na loja é o package name que está no manifest. Então os meus passos foram:
1º Criei um package novo que lhe chamei framework e configurado como library. Copiei todo o projecto para aqui à excepção do folder assets pelo facto de que as libraries não o permitem. ok.
2º No projecto original, adicionei uma referência para a nova library e apaguei tudo (packages e resources). No manifest alterei as classes (activities, services e broadcastreceivers) para apontarem as da nova library. Na configuração do proguard, tive o cuidado das referências (excepções) estarem agora apontadas para as classes da library.
Ok. Depois deste trabalho o que obtive foi dois projectos, um de uma libray e outro do projecto apenas com o manifest e com uma referência para a library mas que funciona perfeitamente como quando era apenas um projecto.
O problema é ao criar o projecto novo para uma nova aplicação a referenciar a library mas a mudar o background ou outras coisas.
E estou encalhado porque ainda não encontrei uma solução escalar para isto. Se os activities e fragments ficassem no projecto era mais fácil (e se calhar obvio) mas eu não quero isso porque são 99% iguais em todos os projectos.
No projecto uso uma classe que "extends" a class Aplication que uso para variáveis globais (em vez de singletons) e que está obviamente declarada no manifest. Pensei em partir daqui mas estou sem ideias. Já pesquisei bastante mas se calhar estou a pesquisar de forma errada.
Desculpem a forma como expliquei que se calhar não foi da forma mais clara mas primeiro penso tudo em inglês depois não sei bem como transpor em português e também simplesmente não sou bem a explicar
Obrigado desde já.
José