Tworzenie aplikacji demonstracyjnej i pełnej wersji w oparciu o jedną bazę kodu / projekt

Opracowałem jedną aplikację na Androida w jednym projekcie z Eclipse - jest to struktura (pochodząca z iPhone'a), więc jedna stała określa, czy jest to wersja demonstracyjna czy pełna.

Teraz mam problem z tym, że za każdym razem, gdy chcę utworzyć wersję demo, muszę zmienić stałą, ale także zrobić kopię projektu z inną nazwą pakietu.

Oczywiście zmiana kodu w oryginalnej pełnej wersji musi zostać skopiowana do wersji demonstracyjnej lub musiałbym powtórzyć tworzenie aplikacji demo za każdym razem, gdy przesyłam aplikację.

Widzę trzy możliwe podejścia:

1. Podczas gdy przyglądałem się projektom bibliotecznym, nadal nie jest dla mnie jasne, jak to naprawdę stanowi dobre rozwiązanie w tym przypadku.

Na przykład, jeśli mam pełną wersję ze strukturą aktywności:

A1
A2
A3

za pomocą klas narzędzi U1, U2

Z pewnością U1 i U2 mogą znajdować się w projekcie bibliotecznym i można się do nich odwoływać z obu projektów - ale działania, strings.xml, grafika, układy muszą być zduplikowane (lub czy jest inny sposób, którego nie widzę?). być dobrym krokiem naprzód i niestety nie zostało wyjaśnione w podobnych pytaniach na ten temat, kiedy sugerowano takie podejście.

2. Innym sposobem byłoby utworzenie różnych nazw pakietów w oparciu o różne ustawienia kompilacji (podobne do iPhone'a), jednak nie wydaje się to możliwe w Eclipse, a nie za pomocą niektórych zewnętrznych skryptów (co - szczerze mówiąc - raczej od tego czasu unikam wydaje się raczej podatny na błędy), podczas gdy kompilacja musi być wywoływana poza Eclipse

3. Prawdopodobnie najbardziej prostym podejściem (a także obecnie przy niewielkim wysiłku) jest ręczne skopiowanie projektu, zmiana jednej stałej, zmiana nazwy pakietu i kompilacja / eksport za każdym razem, gdy przesyłam. To jednak - wydaje się - raczej „podstawowe” i na pewno nie wygląda profesjonalnie (w porównaniu z ustawieniami / celami kompilacji iPhone / xCode)

Jakie byłoby najlepsze podejście (wymagające minimalnej ilości zmian i wciąż stabilne i łatwe w użyciu)?

Wielkie dzięki!

EDYTOWAĆ

Dla wszystkich, którzy próbowali rozwiązania tim - działa dobrze, ale natrafiłem na problem z niestandardowymi atrybutami.

Sprawdź to:Jak rozwiązać niestandardowe atrybuty i zmiany nazw pakietów w bibliotekach Android podczas kompilacji? rozwiąże problem dla bibliotek

questionAnswers(3)

yourAnswerToTheQuestion