Najlepszy sposób na integrację biblioteki innych firm w Android studio

Możemy znaleźć kilka bardzo dobrych bibliotek open source dla Androida. Chcę wiedzieć, jak najlepiej zintegrować je z naszymi projektami w Android studio. Oto kilka podstawowych metod:

  • skopiuj kod źródłowy i pliki zasobów do naszego własnego projektu. Musimy zmienić wiele kodów (nazwę pakietu i nazwę w xml, itd.)
  • Jeśli podano pliki jar, po prostu tworzę folder libs dla mojego projektu i skopiuję pliki jar w środku. I dodać plik jar w Ustawieniach modułu zależności. Ale niestety mam 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 android studio? Dzięki

Author: Zhou Hao, 2013-09-01

4 answers

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

  • Określ, że chcesz używać centralnego repozytorium maven dla swojej zależności

    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ż Twój serwer CI powinny łatwo zbudować swój projekt teraz. I możesz kontynuować rozwój aplikacji.

Wolę używać central repozytorium do zarządzania zależnościami ponieważ:

  • łatwiejsze zarządzanie zakresem-niektóre biblioteki służą tylko do testowania, niektóre powinny być dołączone do apk, a niektóre są częścią działającego środowiska (jak android.sam jar)
  • łatwiejsze zarządzanie zależnościami przejściowymi - dość trudno jest zbierać zależności bibliotek i jeśli użyjesz "jar-with-dependencies", możesz uzyskać błąd "class already added" podczas dexowania
  • lżejsze repozytorium i łatwiejsza zależność upgrade

Przykłady:

    Robolectric jar powinien być używany tylko do testów jednostkowych i nie powinien być częścią samego apk]}
  • repozytorium jest czyste z różnych folderów ze słoikami, kasowanie zajmuje znacznie mniej. Nie trzeba pobierać i wymieniać starych słoików na nowe]}

Powinienem zauważyć:

  • niewiele bibliotek znajduje się w maven central i powinieneś się postarać, aby używać ich w ten sposób w swoim projekcie {16]}
  • można znacznie łatwiej dostać się do błąd "class already added" podczas dexowania z podejściem centralnego repozytorium
  • możesz mieszać użycie zależności Z centralnego repozytorium i z folderu lib, ale wolę używać tylko jednego sposobu dla uproszczenia
 52
Author: Eugen Martynov,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-07 08:43:17
  1. Włóż Gson jar (w moim przypadku gson-2.2.4.jar) do folderu libs
  2. Kliknij prawym przyciskiem myszy i naciśnij "Dodaj jako bibliotekę"
  3. Upewnij się, że compile files('libs/gson-2.2.4.jar') znajduje się w Twoim pliku build.gradle
  4. zrób czystą kompilację (prawdopodobnie możesz 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 wykonana z Android Studio: Dodaj jar jako biblioteka? i nie jest to moja oryginalna odpowiedź. Zamieszczam je tutaj ponownie, ponieważ twoje pytanie było trzecim w wynikach wyszukiwania w Google, gdy szukałeś tego samego tematu. Stąd kopiowanie.

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

 12
Author: Little Child,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:02:46

Pobierz i skopiuj plik {[1] } do folderu libs, a następnie dodaj jedną linię do budowania."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"

Im using Android Studio 1.1.0

 3
Author: NarenderNishad,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-14 10:53:46

Pobierz i skopiuj jar do folderu libs, a następnie dodaj następujące elementy do swojej aplikacji.gradle file and SYNC.

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

repositories{
  flatDir{
      dirs 'libs'
  }
}
 1
Author: CodeShadow,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-12 07:09:33