ฉันจะแสดงแผนผังการอ้างอิงใน Android Studio ได้อย่างไร


คำตอบ:


200

รูปภาพในคำถามไม่ได้แสดงต้นไม้เป็นเพียงรายการรวมของทุกอย่างที่รวบรวมไว้ในแอป

คุณใช้ Gradle หรือไม่?

ถ้าเป็นเช่นนั้นคุณจะเห็น "ต้นไม้" อย่างแท้จริงโดยเรียกใช้คำสั่ง Gradle

เอกสาร Android : ดูแผนผังการอ้างอิง

GUI

  1. เลือกView > Tool Windows > Gradle (หรือคลิกไอคอน Gradle ในแถบหน้าต่างเครื่องมือ)
  2. ขยายAppName > งาน > หุ่นยนต์androidDependenciesและดับเบิลคลิก หลังจาก Gradle ดำเนินการงานแล้วหน้าต่าง Run ควรเปิดขึ้นเพื่อแสดงผลลัพธ์

CLI

(สร้างรายการเหมือนต้นไม้)

./gradlew app:dependencies

และ / หรือ

(สร้างรายการแบน)

./gradlew app:androidDependencies

appชื่อโมดูลของคุณอยู่ที่ไหน

และคุณจะได้รับสิ่งที่เป็นเช่นนั้น

+--- 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

หมายเหตุ : หากคุณเรียกใช้ls(หรือdirบน Windows) ในโฟลเดอร์นั้นและไม่เห็นgradlew(หรือgradlew.bat) แสดงว่าคุณอยู่ในโฟลเดอร์ที่ไม่ถูกต้อง


1
ขอบคุณช่วยฉันได้มากในการติดตามการอ้างอิงชั่วคราวบางอย่าง
Mark Keen

3
ไม่ใช่สิ่งที่คุณแสดงในคำตอบนี้ แต่เป็นเพียงรายการข้อความที่ไม่โต้ตอบของการอ้างอิง
Tristan

6
นี้อาจจะเป็นสิ่งที่ gradle รุ่นใหม่ ./gradlew appName:dependenciesแต่ต้นไม้พึ่งพาดูเหมือนว่าจะแสดงด้วย ในสตูดิโอของ Android appName > Tasks > help > dependenciesก็สามารถพบได้ภายใต้
omahena

3
@ cricket_007 ฉันเห็นด้วยกับคุณว่าทั้งสองงานแตกต่างกัน และฉันอาจจะคิดผิด ... แต่ฉันไม่สามารถหาวิธีแสดงแผนผังการพึ่งพาด้วย Gradle 4.6 และandroidDependenciesงานเหมือนในคำตอบของคุณ ผลลัพธ์เป็นเพียงรายการเดียวเช่นผลลัพธ์สุดท้ายของการค้นหาการพึ่งพา Gradle มีความคิดอย่างไรว่าทำไมถึงได้ต้นไม้อย่างในคำตอบ
omahena

1
@omahena ฉันคัดลอกมาจากเอกสารโดยตรง คำตอบของฉันเคยพูดapp:dependencies
OneCricketeer

22

ทางด้านขวาให้เปิดแท็บ gradle> คลิกไอคอน gradle (เรียกใช้งาน gradle) ในกล่องโต้ตอบป๊อปอัปให้ป้อน:

app:dependencies

ในฟิลด์บรรทัดคำสั่ง> ตกลง


1
นี้ทำงานให้กับผมอีกครั้งฉันออกและเพียงแค่ดำเนินการapp: dependenciesสิ่งนี้ให้ผลลัพธ์ที่มีประโยชน์มากกว่าวิธีการในคำตอบของ norbDEV เนื่องจากแสดงแผนผังการพึ่งพา อาจเป็นเอาต์พุตเดียวกัน./gradlew dependenciesแต่ไม่มีข้อกำหนดในการติดตั้ง JDK
jk7

1
@ jk7 appเป็นโมดูลเริ่มต้นสำหรับโปรเจ็กต์ Android Studio หากคุณไม่มีโมดูลหรือต้องการดูการอ้างอิงสำหรับโมดูลทั้งหมดgradle dependenciesก็ใช้ได้เช่นกัน
OneCricketeer

17

Android Studio 3. +

  • เปิดแผง Gradle
  • คลิกไอคอนรูปช้างซึ่งมีคำแนะนำ "Execute Gradle Task"

ภาพหน้าจอแผง Gradle + ไอคอนช้าง

  • เลือกแอปโครงการ gradle
  • ในการวางบรรทัดคำสั่ง:dependencies
  • คลิกตกลง

สกรีนช็อต: เรียกใช้งาน Gradle - หน้าต่าง

ในแผง Runคุณจะพบแผนผังการพึ่งพา


อีกวิธีหนึ่ง:

  • เปิดแผง Gradle

  • ค้นหาpostfix "(root)"แล้วเปิด (ชื่อโฟลเดอร์ของแอป)

  • เปิดโหนดTasks

  • เปิดโหนดAndroid

  • ดับเบิลคลิกที่"androidDependencies"

ในแผง Runคุณจะพบรายการการอ้างอิง

ก่อนที่จะสร้างสวิตช์ปกติกลับไปที่การกำหนดค่าการสร้างปกติ (ถัดจากค้อน)


เครื่องมือที่มีประโยชน์อีกอย่าง:

วิธีค้นหาการอัปเดตการพึ่งพา: https://github.com/ben-manes/gradle-versions-plugin

การใช้งาน

  • เพิ่มสิ่งนี้ในระดับโครงการ build.gradle

    apply plugin: "com.github.ben-manes.versions"
    
    buildscript {
      repositories {
        jcenter()    
      }
    
      dependencies {
        classpath "com.github.ben-manes:gradle-versions-plugin:0.20.0"
      }
    }
    
  • ซิงค์เดี๋ยวนี้

  • เปิดแผง Gradle
  • คลิกไอคอนช้าง
  • เลือกรากโครงการ
  • ในการวางบรรทัดคำสั่ง:dependencyUpdates
  • คลิกตกลง
  • อดใจรออีกนิด

ในแผง Runคุณจะพบผลลัพธ์


สิ่งนี้จะสร้างรายการการอ้างอิงแบบแบนแทนที่จะเป็นแบบต้นไม้ดังนั้นจึงไม่มีประโยชน์หากคุณต้องการทราบว่าไลบรารีใดใช้การอ้างอิงเฉพาะ +1 สำหรับเคล็ดลับ "เปลี่ยนกลับไปใช้การกำหนดค่ารุ่นปกติ"
jk7

16

ในที่สุดฉันก็คิดออก สิ่งที่ฉันทำคือเลือกโครงการจากเมนูโครงการ (ดูภาพด้านล่าง)

ป้อนคำอธิบายภาพที่นี่


12
นี้เป็นในทางที่ไม่เป็นเมืองขึ้นต้นไม้ แผนผังการพึ่งพาใช้เช่นเพื่อค้นหาเวอร์ชันที่ขัดแย้งกันเมื่อไลบรารี A ใช้ไลบรารี B เวอร์ชัน 1 ในขณะที่ไลบรารี C ใช้ไลบรารี B เวอร์ชัน 2 เนื่องจากคำถามคือคำตอบนี้ไม่ถูก คำถามควรได้รับการอัปเดตเพื่อขอรายชื่อไลบรารีที่ใช้หรือคำตอบของ cricket_007 ควรเป็นคำตอบที่ยอมรับ
JHH

6

Android Studio 3.4.0

ตรวจสอบและแสดงภาพการอ้างอิงแต่ละรายการในกราฟการอ้างอิงของโครงการของคุณตามที่ Gradle แก้ไขในระหว่างการซิงค์โครงการโดยทำตามขั้นตอนเหล่านี้:

  1. Android Studio -> ไฟล์ -> โครงสร้างโครงการ (กล่องโต้ตอบ)
  2. ในบานหน้าต่างด้านซ้ายของ "โครงสร้างโครงการ" หน้าต่างเลือกการอ้างอิง
  3. ในบานหน้าต่างโมดูลเลือกโมดูลที่คุณต้องการตรวจสอบการอ้างอิงที่แก้ไข

โครงสร้างโครงการ

  1. สำหรับ Android Studio 3.6 ขึ้นไป:ทางด้านขวาของหน้าต่าง "โครงสร้างโครงการ" ให้ดูที่บานหน้าต่างการอ้างอิงที่ได้รับการแก้ไข ตัวอย่างดังแสดงด้านล่างซึ่งคุณสามารถคลิกที่ลูกศรขยายเพื่อไปยังการอ้างอิงย่อยแต่ละรายการ อย่างไรก็ตามไม่อนุญาตให้ค้นหาข้อความเช่นเดียวกับเอาต์พุตคอนโซล

บานหน้าต่างการอ้างอิงที่แก้ไขแล้ว

เรียนรู้เพิ่มเติม.


5

คำสั่งเทอร์มินัลเพื่อดูรายการการอ้างอิงทั้งหมดคือ

 ./gradlew -q dependencies app:dependencies --configuration implementation

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.