8

Co mam:

cztery niezależnie pracujące Android moduły:Android Studio: „Nowy moduł -> import istniejący projekt” vs. „moduł import”

  1. MyProjectMainModule, głównym aplikacji pojemnik, dołączony do MyProject

  2. MyGradleModule, biblioteki, z wszystkimi niezbędnymi komponentami zbudowanymi podczas procesu gradlew.

  3. MyPreGradleModule, biblioteka z src/, res/, AndroidManifest.xml i pom.xml, bez Gradle opakowaniu

  4. MyRawModule, biblioteki, z src/, res/, AndroidManifest.xml, bez pom.xml (powszechnie u ant oparciu Eclipse projektów)

Jakie chciałem osiągnąć:

Aby zaimportować wszystkie trzy moduły (tj. MyGradleModule, MyPreGradleModule, MyRawModule) na MyProject jako zależności od MyProject. Pełna struktura projektu powinien przypominać poniżej struktury projektu:

MyProject 
|--MyProjectMainModule 
|--MyGradleModule 
|--MyPreGradleModule 
|--MyRawModule 

Pytanie:

Zdając sobie sprawę z wszystkich trzech modułów (MyGradleModule, MyPreGradleModule i MyRawModule) mają różne struktury, jakie są najbardziej optymalne sposoby importowania każdego moduły z minimalne wysiłki?

mógłbyś dopasować jeden z następujących elementów menu Android Studio ze sobą modułów w swojej odpowiedzi (jeśli użyć dowolnego):

  1. File ->Import Module...
  2. File ->New Module... ->Import Existing Project
  3. File ->New Module... ->Android Library

Odpowiedz

15

można dodać trzy moduły do ​​tego samego projektu, tworząc plik w myproject/folderu settings.gradle i dodanie modułów do niego:

include ':MyGradleModule' 
include ':MyPreGradleModule' 
include ':MyRawModule' 

Następnie dla każdego modułu, skonfigurować build.gradle zależności odwołać się do innych modułów jak potrzebne. Na przykład, dodać to do MyProjectMainModule aby użyć wyjścia produkowanego przez MyGradleModule:

dependencies { 
    compile project(':MyGradleModule') 
} 

Wreszcie, jeśli projekt ma heterogenicznych submodules następnie można skonfigurować swoją strukturę za pomocą zamknięcia 'sourceSets.Na przykład, moduł surowy miałoby konfigurację podobną do tej:

android { 
    sourceSets { 
     main { 
      manifest.srcFile 'AndroidManifest.xml' 
      java.srcDirs = ['src'] 
      resources.srcDirs = ['src'] 
      aidl.srcDirs = ['src'] 
      renderscript.srcDirs = ['src'] 
      res.srcDirs = ['res'] 
      assets.srcDirs = ['assets'] 
     } 
     androidTest.setRoot('tests') 
    } 
} 

odjazdu tej części Gradle Plugin Guide widzieć co konfiguracja opcje są dostępne.

+1

ratownik , dzięki! –

7

Ten pracował dla mnie:

  1. Otwórz projekt w Android Studio
  2. Pobierz bibliotekę (używając Git, lub archiwum ZIP do rozpakowania)
  3. Przejdź do menu Plik> Importuj moduł i import biblioteka jako moduł
  4. Przejdź do pliku> Struktura projektu> Moduły
  5. Znajdź swój główny moduł projektu i kliknij go. Powinien on mieć kilka android bibliotek, takich jak: wsparcie-V4 itd
  6. Kliknij na bardziej na przycisk "+"> uzależnienia od lewej zielony Module
  7. Select "biblioteki"
+0

Tylko jedna rada: Jeśli dodałeś instrukcję importu dla nowej zależności ZANIM próbujesz wszystkich powyższych, a Android Studio nadal nie chce znaleźć importu, spróbuj usunąć tę linię i przepisać ją ponownie. – whitelionV