2015-07-11 18 views
16

Uczę się budować biblioteki współdzielone Android, które mogą być używane z różnymi projektami. Mam kilka pytań dotyczących tego tematu. Zanim przejdę do pytań, poniżej jest to, co zrobiłem do tej pory:Synchronizacja projektów/modułów biblioteki współdzielonej z ich źródłem

  • Tworzenie projektu biblioteki
  • stworzyć kolejny projekt aplikacji i import powyżej biblioteki jako moduł

Moje pytania to:

  • Czy kod projektu bibliotecznego jest automatycznie synchronizowany z tym, który został zaimportowany do projektów aplikacji? Jak można to osiągnąć?
  • Jeśli nie, co jeszcze mogę zrobić, aby upewnić się, że muszę tylko raz zaktualizować udostępnioną bibliotekę?

Korzystam z IDE Android Studio.

Dziękuję

Odpowiedz

20

Ach tak, może to być bardzo pomocne w wielu przypadkach. Aby to osiągnąć, możesz wykonać następujące czynności.

Powiedzmy masz dwa projekty - MyApplication i MyLibraryDemo zawierające modułu Library libmodule z następujących ścieżek:

MyApplication - "/../AndroidStudioProjects/MyApplication"

MyLibraryDemo - "/../AndroidStudioProjects/MyLibraryDemo"

libmodule - "/../AndroidStudioProjects/MyLibraryDemo/libmodule"

I powiedzmy, że próbujesz użyć libmodule w MyApplication. Następnie w swojej settings.gradle swojego projektu MyApplication, zrób to

include ':app', ":libmodule" 
project(':libmodule').projectDir = new File(settingsDir, '../MyLibraryDemo/libmodule') 

Być może trzeba będzie dokonać odpowiednich korekt, ale mam nadzieję, że idea łącząca inny moduł jest jasne.

Wszystkiego najlepszego :)

+0

To działa jak czar. Dwa moduły są automatycznie synchronizowane, nie trzeba otwierać ich obu, gdy chcę zaktualizować udostępniony moduł. – Ralphilius

+5

Co to jest folder ': app' i katalog' settingsDir' tutaj – viper

+0

Czy istnieje sposób uwzględnienia zewnętrznych projektów, ale nie uwzględnienia pełnej ścieżki, aby można było z nich korzystać również na innych komputerach? – Esteban

4

Importowanie moduł spoza projektu aplikacji tworzy kopię biblioteki wewnątrz aplikacji. Jeśli twój system go obsługuje, tworzenie dowiązania symbolicznego pozwoli ci mieć tylko jedną kopię kodu.

W przeciwnym razie można przenieść cały projekt biblioteki do aplikacji i dodać go do pliku settings.gradle.

Jeśli chcesz mieć osobne repozytoria git dla obu tych projektów, zajrzyj do submodułów git.

Powiązane problemy