2013-09-01 13 views
37

Możemy znaleźć kilka bardzo dobrych bibliotek open source dla Androida. Chcę wiedzieć, jaki jest najlepszy sposób na ich integrację z własnymi projektami w studiu Android. Oto kilka podstawowych metod:Najlepszy sposób na integrację biblioteki innej firmy w studiu Android

  • Skopiuj kod źródłowy i pliki zasobów do naszego własnego projektu. Musimy zmienić wiele kodów (nazwa pakietu i nazwa w xml, itp.).
  • Jeśli podano pliki jar, po prostu utworzę folder libs dla mojego projektu i skopiuję pliki jar w środku. I dodaj plik jar w zależnościach ustawień modułu. Ale niestety dostałem wiele komunikatów o błędach, takich jak "Gradle: Pakiet com.google.gson nie istnieje".

Czy istnieje ogólna zasada dodawania zewnętrznych plików źródłowych lub jar do istniejącego projektu studia Android? Dzięki

+0

Znalazłem jeden post jest dobry do integracji plików JAR. http://stackoverflow.com/questions/16608135/android-studio-add-jar-as-library?rq=1 Ale dla niektórych projektów z niektórymi plikami zasobów nie ma pliku jar. –

+1

Tak, co powiedział bagusflyer ... –

Odpowiedz

51

Wolę używać centralnego repozytorium do zarządzania zależnościami. Więc dla gson 2.3 uzależnienia należy dodać do build.gradle pliku:

  • określić, że chcesz używać maven centralne repozytorium dla Twojego uzależnienia

    repositories {jcenter()}

  • Dodaj compile zależność do gson 2.6.2

    dependencies {compile 'com.google.code.gson:gson:2.6.2'}

Android Studio, jak również serwer CI, powinny teraz łatwo zbudować projekt. Możesz kontynuować tworzenie aplikacji.

wolę używać centralne repozytorium do zarządzania Zależności ponieważ:

  • łatwiejsze zarządzanie zakres - niektóre biblioteki są tylko do testów, niektóre powinny być włączone do apk, a niektóre są częścią środowiska (jak działa Android.jar się)
  • łatwiej przechodnie zależnościami zarządzanie - jest to dość trudne do zbierania bibliotek zależności i jeśli używasz „Jar-z zależnościami” można dostać błąd „klasa już dodane” podczas Dexing
  • lżejsze repozytorium i łatwiejszą aktualizację zależnościach

Przykłady:

  • Robolectric słoik powinien być stosowany tylko dla jednostki badań i nie jest częścią samego apk
  • repozytorium jest czysty z różnych roz lders ze słoikami, kasowanie zajmuje znacznie mniej. Nie musi pobrać i zastąpić stare słoiki z nowych słoików

powinienem zwrócić uwagę:

  • Niewiele biblioteki są w Maven centralny i należy dokonać pewnego wysiłku, aby wykorzystać je taką drogę w swoim projekcie
  • można wiele łatwiej dostać się do „klasy już dodane” błąd podczas Dexing z podejściem centralnym repozytorium
  • można mieszać wykorzystanie zależności od centralnego repozytorium oraz z folderu lib, ale wolę używać tylko jedną drogę do prostoty
+0

To takie miłe. Ale skąd mogę wiedzieć, która biblioteka znajduje się w repozytorium centralnym? –

+0

Możesz go wyszukać http://search.maven.org/ –

+0

@EugenMartynov: W moim projekcie są dwa pliki build.gradle. Jeden w katalogu głównym projektu, a drugi w katalogu aplikacji. Który plik umieścić w sekcji "repozytoria" i "zależności"? – tonga

12
  1. Put słoik Gson (w moim przypadku, gson-2.2.4.jar) do libs folderu
  2. prawym przyciskiem myszy i kliknij przycisk 'Dodaj do biblioteki'
  3. Upewnić się, że compile files('libs/gson-2.2.4.jar') jest w pliku build.gradle
  4. Do czysta kompilacja (prawdopodobnie można to zrobić dobrze w Android Studio, ale aby upewnić się, że nawigowałem w terminalu do folderu głównego mojej aplikacji i wpisałem gradlew clean. Jestem na Mac OS X, polecenie może być inne w twoim systemie

Ta seria kroków została podjęta z Android Studio: Add jar as library? i nie jest moją oryginalną odpowiedzią. Ponownie zamieszczam je tutaj, ponieważ Twoje pytanie było trzecim w wynikach wyszukiwania Google podczas wyszukiwania tego samego tematu. Dlatego też kopiowanie.

Wszystkie kredyty dla tego, który napisał kroki.

+0

Wygląda na to, że możesz teraz przeciągać i upuszczać słoik z dowolnego miejsca do folderu libs projektu i automatycznie dodawać go do ścieżki budowania. Pracowałem dla mnie dobrze, ale YMMV. –

3

Pobierz & Skopiuj plik .jar w libs folderu następnie dodanie jednej linii do build.gradle:

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) ----> AS creates this 
    compile 'com.google.code.gson:gson:2.3.4' ----------> I added this one 
} 

Nie zapomnij kliknąć "Synchronizuj teraz"

jestem używając Android Studio 1.1. 0

1

Pobierz i skopiuj plik jar do folderu libs, a następnie dodaj następujący plik do pliku app.gradle i SYNC.

dependencies { 
    compile 'com.google.code.gson:gson:{version_you_need}' 
} 

repositories{ 
    flatDir{ 
     dirs 'libs' 
    } 
} 
Powiązane problemy