Jak sprawdzić, czy Gradle dependency ma nową wersję

W Android Studio kiedy używam + W numerze wersji (jak com.android.support:recyclerview-v7:21.+) dostaję Ostrzeżenie" Unikaj używania + w numerach wersji". Kiedy używam określonego numeru wersji, nie zawsze mogę używać najnowszej wersji. Mam wiele zależności w moim projekcie. Jak sprawdzić, czy zależność ma nowszą wersję? Czy istnieje Wtyczka Android Studio-lub coś w tym stylu-aby powiadomić mnie, gdy istnieje nowsza wersja zależności?

Edit: Android studio podkreśla przestarzałe Android obsługuje biblioteki i usługi Google play. Ale to nie jest dostępne dla innych bibliotek niestandardowych.

Tutaj wpisz opis obrazka

Author: osrl, 2015-02-23

8 answers

To jest teraz wbudowany w Android Studio jako czek Lint. Możesz go włączyć tutaj:

Settings > Editor > Inspections > "Newer Library Versions Available"

Opis tej inspekcji:

Dostępne Nowsze Wersje Biblioteki

Ten detektor sprawdza za pomocą centralnego repozytorium, czy są dostępne nowsze wersje zależności używanych przez ten projekt. Jest to podobne do GradleDependency check, który sprawdza dla nowsze wersje dostępne w narzędziach i bibliotekach Android SDK, ale działa to z dowolną zależnością MavenCentral i łączy się z biblioteką za każdym razem, co czyni ją bardziej elastyczną, ale także znacznie wolniejszą.

Ze względu na spowolnienie, które może to wprowadzić, zalecałbym okresowe uruchamianie go ręcznie, zamiast mieć go zawsze włączonego. Można to zrobić przez:

Analyze > "Run Inspection By Name"

Następnie wyszukaj "nowsze wersje bibliotek Dostępny " i uruchom go na swoim module.

Edit : powyższe powinno działać od wersji Android Studio 2.3. Jeśli korzystasz ze starej wersji (powinieneś zaktualizować), może pomóc:

Zauważ, że wygląda na to, że musisz mieć włączoną inspekcję, aby uruchomić ją ręcznie - tak (od Android Studio 2.0 Beta 2) musisz znaleźć inspekcję w Ustawieniach, włączyć ją, następnie uruchomić ją po nazwie, a następnie wyłączyć ją ponownie (aby odzyskać poprzednią wydajność).

 209
Author: Adam S,
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-07-13 00:47:49

UPDATE (05/23/18):

Nowsza wersja Android Studio nie wyświetla aktualizacji wersji w oknie dialogowym struktura projektu. Zamiast tego, Adam-s odpowiedź jest poprawna dla Android Studio 3 +

Analizuj > "Uruchom Inspekcję Według Nazwy"

Następnie Szukaj "Newer Library Versions Available"

POPRZEDNI SPOSÓB:

Począwszy od Android Studio 2.2, nowe okno dialogowe Project Structure pokazuje listę zależności używanych przez aplikację z dostępnymi aktualizacjami z repozytoriów lokalnych i zdalnych jako cóż.

  • aktywuj go przechodząc do Android Studio > Settings > Build, Execution, Deployment > Gradle > Experimental i sprawdź Use new Project Structure dialog (dzięki @jessehensold)
  • następnie otwórz go, przechodząc do File > Project Structure > Messages

Tutaj wpisz opis obrazka

Dla starszej wersji Android Studio, zobacz inne Odpowiedzi poniżej.

 278
Author: Quanturium,
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
2020-06-20 09:12:55

Oprócz wbudowanej funkcji Android Studio, jest ładny Gradle plugin o nazwie Gradle wersje plugin że robi dokładnie to, co chcesz, z korzyścią jest zwykły rozszerzenie gradle, co oznacza, że jest Nie więź do każdego IDE-tylko czysty Gradle rzeczy.

Wtyczka Gradle Versions może tworzyć raporty w czytelnej dla człowieka formie zwykłego tekstu, ale może również zrzucać je jako JSON lub XML, co jest bardzo przydatne do automatycznego / skryptowego przetwarzania.

Użycie jest dość proste. Po dodaniu do pliku gradle wystarczy:

> ./gradlew dependencyUpdates

I powinien wygenerować raport zależności projektu, który wygląda tak:

------------------------------------------------------------
: Project Dependency Updates (report to plain text file)
------------------------------------------------------------

The following dependencies are using the latest milestone version:
 - com.github.maksim88:PasswordEditText:v0.9
 - com.marcinorlowski:webnet-log:1.0.3
 - com.nulab-inc:zxcvbn:1.2.2

The following dependencies exceed the version found at the milestone revision level:
 - com.hannesdorfmann.fragmentargs:annotation [4.0.0-SNAPSHOT <- 3.0.2]
 - com.hannesdorfmann.fragmentargs:bundler-parceler [4.0.0-SNAPSHOT <- 3.0.2]
 - com.github.bumptech.glide:glide [3.7.0 <- 3.6.1]
 - com.hannesdorfmann.fragmentargs:processor [4.0.0-SNAPSHOT <- 3.0.2]

The following dependencies have later milestone versions:
 - com.github.PhilJay:MPAndroidChart [v2.2.5 -> v3.0.1]
 - com.android.support:appcompat-v7 [25.1.0 -> 25.1.1]
 - com.jakewharton:butterknife [8.4.0 -> 8.5.1]

Generated report file build/dependencyUpdates\report.txt

Zobacz docs dla obszernych przykładów użycia.


Uwaga: od momentu napisania tej odpowiedzi (2017-01), wersje wyższe niż 0.17.0 produkują więcej danych wyjściowych w formacie tekstowym planu, w tym. projektuj adresy URL, dzięki czemu całe wyjście jest przepełnione.

 67
Author: Marcin Orlowski,
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
2020-11-21 20:04:11

Zobacz plik > struktura projektu, a następnie kliknij "sugestie". Wiem, że takie rozwiązanie zaproponowali Hemant Sharma i Jeremías Gersicich, ale Android Studio zmieniło je w wersji 3.4.1.

Tutaj wpisz opis obrazka

Pomoże to w większości przypadków, ale czasami biblioteki zmieniają swoje identyfikatory (ścieżki) . Więc powinieneś czasami odwiedzić ich strony i zobaczyć, dlaczego te biblioteki nie aktualizowały się tak długo. Następnie zaktualizuj ręcznie.

 18
Author: CoolMind,
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
2020-10-09 06:14:32

DEPRECATED - ZOBACZ AKCEPTOWANĄ ODPOWIEDŹ DLA NOWOCZESNEGO SPOSOBU

Przedstawione poniżej narzędzie nie działa na nowych wersjach Androida Studio / Gradle, a jego autor nie utrzymuje go już ( na dzień 30/10/2016). Dlatego rozwiązanie przedstawione w zaakceptowanej odpowiedzi powinno być używane , chyba że działa ze starą wersją Android Studio.


Od stycznia 2016 roku dostępna jest wtyczka dla Android Studio, która robi coś podobnego, o nazwie Dependencies Version Checker , oraz którego źródła można znaleźć na GitHub .

Można go dodać poprzez wbudowany interfejs (Ustawienia > wtyczki > Przeglądaj repozytoria...) :

Jak to wygląda wewnątrz natywnego interfejsu

Po instalacji i ponownym uruchomieniu w interfejsie użytkownika pojawi się następująca karta:

Nowa zakładka UI, która pojawia się po ponownym uruchomieniu.

Odpowiednie build.gradle należy następnie wkleić do lewej strony panelu VersionChecker i nacisnąć przycisk Version Check. Wynikiem jest tabela, która pojawia się po prawej stronie, która zawiera najnowsze wersje bibliotek używanych w wklejonym skrypcie (jak pokazano na powyższym obrazku).

 14
Author: Dev-iL,
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:26:36

Dla biblioteki wsparcia (com.android.wsparcie) zależności, jest lepsza opcja - andle

Może również odpytywać jcenter i Maven center.

Proste trzy kroki, aby zaktualizować wszystkie projekty na raz.

1. zainstaluj:

    $ sudo pip install andle

2. zestaw sdk:

    $ andle setsdk -p <sdk_path>

3. update:

    $ andle update -p <project_path> [--dryrun] [--remote] [--gradle]

--dryrun: wyświetla tylko wynik w konsoli

--remote: sprawdzanie wersji w jcenter i mavenCentral

--gradle: sprawdź wersja gradle

Zobacz https://github.com/Jintin/andle więcej informacji

 2
Author: Jintin,
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-28 01:53:17

Miałem do czynienia z tym samym problemem i próbowałem odpowiedzieć https://stackoverflow.com/a/35371234/6412430

To, co naprawdę zadziałało dla mnie na Androidzie Studio 3.4.1, to:

File -> Project Structure -> Dependencies

Po osiągnięciu tego punktu wszystkie zależności zawarte w Twoim projekcie lub module zostaną wymienione. Te, które są nieaktualne, zostaną podkreślone, a po wybraniu jednego z nich, zostaną wyświetlone jego szczegóły, dając Opcje aktualizacji zmiennej (jeśli masz ją oddzieloną od deklaracja) lub zależność.

Trochę późno, ale to mi się udało.
 1
Author: Jeremías Gersicich,
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
2019-06-10 23:57:15

Aby uzyskać aktualizację lub zalecane dla projektu zależność powinna być taka sama jak projekt android

FILE -> Project Structure -> MODULES(app) -> Dependencies

Po przejściu do zakładki zależności kliknij na przycisk +, który znajduje się w prawym górnym rogu okna. Po kliknięciu na + Wybierz Library Dependency otworzy się nowe okno wyszukiwania Choose Library Dependency zależności w polu wyszukiwania, wszystkie wymienione zależności Androida są aktualizowane.

 -1
Author: Hemant Sharma,
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
2018-08-07 05:54:20