Bagaimana cara menampilkan pohon dependensi di Android Studio?

Jawaban:

200

Gambar dalam pertanyaan tidak benar-benar menunjukkan pohon, hanya daftar datar dari semua yang dikompilasi ke dalam aplikasi.

Apakah Anda menggunakan Gradle?

Jika demikian, Anda benar-benar dapat melihat "pohon" dengan menjalankan perintah Gradle

Dokumentasi Android : Lihat pohon ketergantungan

GUI

  1. Pilih View > Tool Windows > Gradle (atau klik ikon Gradle di bilah jendela alat).
  2. Perluas AppName > Tasks > android dan klik dua kali androidDependencies. Setelah Gradle menjalankan tugas, jendela Run akan terbuka untuk menampilkan outputnya.

CLI

(menghasilkan daftar seperti pohon)

./gradlew app:dependencies

dan / atau

(menghasilkan daftar datar)

./gradlew app:androidDependencies

Di mana appnama modul Anda

Dan Anda mendapatkan sesuatu seperti itu

+--- MyApp:mylibrary:unspecified
|    \--- com.android.support:appcompat-v7:25.3.1
|         +--- com.android.support:animated-vector-drawable:25.3.1
|         |    \--- com.android.support:support-vector-drawable:25.3.1
|         |         \--- com.android.support:support-v4:25.3.1
|         |              \--- LOCAL: internal_impl-25.3.1.jar
|         +--- com.android.support:support-v4:25.3.1
|         |    \--- LOCAL: internal_impl-25.3.1.jar
|         \--- com.android.support:support-vector-drawable:25.3.1
|              \--- com.android.support:support-v4:25.3.1
|                   \--- LOCAL: internal_impl-25.3.1.jar
\--- com.android.support:appcompat-v7:25.3.1
     +--- com.android.support:animated-vector-drawable:25.3.1
     |    \--- com.android.support:support-vector-drawable:25.3.1
     |         \--- com.android.support:support-v4:25.3.1
     |              \--- LOCAL: internal_impl-25.3.1.jar
     +--- com.android.support:support-v4:25.3.1
     |    \--- LOCAL: internal_impl-25.3.1.jar
     \--- com.android.support:support-vector-drawable:25.3.1
          \--- com.android.support:support-v4:25.3.1
               \--- LOCAL: internal_impl-25.3.1.jar

Catatan : Jika Anda menjalankan ls(atau dirdi Windows) di folder itu, dan tidak melihat gradlew(atau gradlew.bat), Anda berada di folder yang salah.

OneCricketeer
sumber
1
Terima kasih, banyak membantu saya dalam melacak beberapa dependensi sementara.
Mark Keen
3
Ini bukan yang Anda tunjukkan dalam jawaban ini, itu hanya daftar teks non-interaktif dari ketergantungan
Tristan
6
Ini mungkin versi gradle yang lebih baru, tetapi pohon ketergantungan tampaknya ditampilkan dengan ./gradlew appName:dependencies. Di Android Studio, ini dapat ditemukan di bawah appName > Tasks > help > dependencies.
omahena
3
@ cricket_007 Saya setuju dengan Anda bahwa kedua tugas itu berbeda. Dan saya mungkin salah paham ... Tetapi saya tidak dapat menemukan cara untuk menampilkan pohon ketergantungan dengan Gradle 4.6 dan androidDependenciestugas seperti yang ada di jawaban Anda. Hasilnya hanyalah daftar datar seperti hasil akhir dari penelusuran dependensi Gradle. Ada ide mengapa dan bagaimana cara mendapatkan pohon seperti dalam jawaban Anda?
omahena
1
@omahena Nah, saya salin langsung dari dokumentasi. Jawaban saya dulu mengatakanapp:dependencies
OneCricketeer
22

Di sisi kanan, buka tab gradle> klik ikon gradle (jalankan tugas gradle), di dialog popup masukkan:

app:dependencies

di bidang baris perintah> ok

JimmyFlash
sumber
1
Ini berhasil untuk saya setelah saya menghapus app:dan baru saja dieksekusi dependencies. Ini memberikan keluaran yang lebih berguna daripada metode dalam jawaban norbDEV karena ini menunjukkan pohon ketergantungan. Mungkin keluaran yang sama ./gradlew dependenciestetapi tanpa persyaratan memasang JDK.
jk7
1
@ jk7 appadalah modul default untuk proyek Android Studio. Jika Anda tidak memiliki modul, atau ingin melihat dependensi untuk semua modul, ya, gradle dependenciesjuga berfungsi
OneCricketeer
17

Android Studio 3. +

  • Buka panel Gradle
  • Klik ikon gajah , yang memiliki tooltip "Execute Gradle Task"

Tangkapan layar panel Gradle + ikon gajah

  • Pilih yang aplikasi proyek Gradle
  • Di baris perintah tempel :dependencies
  • Klik OK

Tangkapan layar: Jalankan Tugas Gradle - Jendela

Di panel Run Anda akan menemukan pohon ketergantungan.


Metode lain:

  • Buka panel Gradle

  • Temukan postfix "(root)" dan buka (nama folder aplikasi)

  • Buka node Tasks

  • Buka node android

  • Klik dua kali pada "androidDependencies"

Di panel Run Anda akan menemukan daftar dependensi

Sebelum build normal beralih kembali ke Konfigurasi Build normal (di sebelah hammer)


Alat berguna lainnya:

Bagaimana menemukan dependensi yang diperbarui: https://github.com/ben-manes/gradle-versions-plugin

Pemakaian

  • Tambahkan ini ke build.gradle level proyek

    apply plugin: "com.github.ben-manes.versions"
    
    buildscript {
      repositories {
        jcenter()    
      }
    
      dependencies {
        classpath "com.github.ben-manes:gradle-versions-plugin:0.20.0"
      }
    }
    
  • Sinkronkan Sekarang

  • Buka panel Gradle
  • Klik ikon gajah
  • Pilih yang akar proyek
  • Di baris perintah tempel :dependencyUpdates
  • Klik OK
  • Tunggu sebentar

Di panel Run Anda akan menemukan hasilnya.

norbDEV
sumber
Ini membuat daftar datar dependensi, bukan pohon, jadi tidak berguna jika Anda perlu mencari tahu library mana yang menggunakan dependensi tertentu. 1 untuk tip "beralih kembali ke konfigurasi build normal".
jk7
16

Akhirnya, saya menemukan jawabannya. Yang saya lakukan adalah memilih Project dari menu Project (Lihat gambar di bawah).

masukkan deskripsi gambar di sini

fruqi
sumber
12
Ini sama sekali bukan pohon ketergantungan . Pohon ketergantungan digunakan misalnya untuk menemukan versi yang bertentangan ketika perpustakaan A menggunakan perpustakaan B versi 1 sedangkan perpustakaan C menggunakan perpustakaan B versi 2. Sebagai pertanyaannya, jawaban ini tidak benar. Pertanyaan harus diperbarui untuk meminta daftar pustaka yang digunakan, atau jawaban cricket_007 harus yang diterima.
JHH
6

Android Studio 3.4

Periksa dan visualisasikan setiap dependensi dalam grafik dependensi project Anda, seperti yang diselesaikan oleh Gradle selama sinkronisasi project, dengan mengikuti langkah-langkah berikut:

  1. Android Studio -> File -> Struktur Proyek (Dialog)
  2. Di panel kiri jendela "Struktur Proyek", pilih Dependensi .
  3. Di panel Modules , pilih modul yang ingin Anda periksa dependensinya yang telah diselesaikan.

Struktur Proyek

  1. Untuk Android Studio 3.6 dan yang lebih baru: Di sisi kanan jendela "Project Structure", lihat panel Resolved Dependencies . Contohnya ditunjukkan di bawah ini, di mana Anda dapat mengklik panah Luaskan untuk menavigasi ke setiap sub-ketergantungan. Namun, itu tidak memungkinkan pencarian teks, seperti keluaran konsol.

Panel Dependensi Terselesaikan

Belajarlah lagi.

Anor
sumber
5

perintah terminal untuk melihat semua daftar dependensi

 ./gradlew -q dependencies app:dependencies --configuration implementation
vikas kumar
sumber
3

Klik tab Gradle dan buka AppName > Tasks> help> dependencies

Dependensi studio Android

Wirling
sumber